使用 K 運算子搜尋和替換
鑑於文字:
foo:吧
我想用 baz
替換“foo:”之後的任何內容,但我想保留“foo:”。這可以通過這樣的捕獲組來完成:
s/(foo: ).*/$1baz/
結果如下:
foo:baz
或者我們可以使用\K
,它忘記以前匹配的所有內容,使用如下模式:
s/foo: \K.*/baz/
正規表示式匹配“foo:”,然後遇到\K
,以前的匹配字元被認為是理所當然的,並且由正規表示式保留,這意味著只有 .*
匹配的字串將被 baz
替換,從而產生文字:
foo:baz