使用 K 运算符搜索和替换
鉴于文字:
foo:吧
我想用 baz
替换“foo:”之后的任何内容,但我想保留“foo:”。这可以通过这样的捕获组来完成:
s/(foo: ).*/$1baz/
结果如下:
foo:baz
或者我们可以使用\K
,它忘记以前匹配的所有内容,使用如下模式:
s/foo: \K.*/baz/
正则表达式匹配“foo:”,然后遇到\K
,以前的匹配字符被认为是理所当然的,并且由正则表达式保留,这意味着只有 .*
匹配的字符串将被 baz
替换,从而产生文本:
foo:baz