仅替换与sed匹配正则表达式的第一个出现

Uni*_*ech 3 regex sed

我有一个字符串

test:growTest:ret
Run Code Online (Sandbox Code Playgroud)

并使用sed我只会删除测试:获取:

growTest:ret
Run Code Online (Sandbox Code Playgroud)

我试过了

sed '0,/RE/s/^.*://'
Run Code Online (Sandbox Code Playgroud)

但它只给了我

ret
Run Code Online (Sandbox Code Playgroud)

有任何想法吗 ?

谢谢

uli*_*tko 5

修改你的正则表达式^.*:^[^:]*:

你只需要.*构造不会消耗你的分隔符 - 冒号.为此,请.使用否定括号替换matching-any-char : [^abc],匹配指定之外的任何char .

另外,不要混淆两个回旋^,因为它们有不同的含义:第一个匹配字符串的开头,第二个意味着否定括号.