使用 K 運算子搜尋和替換

鑑於文字:

foo:吧

我想用 baz 替換“foo:”之後的任何內容,但我想保留“foo:”。這可以通過這樣的捕獲組來完成:

s/(foo: ).*/$1baz/

結果如下:

foo:baz

例 1

或者我們可以使用\K,它忘記以前匹配的所有內容,使用如下模式:

s/foo: \K.*/baz/

正規表示式匹配“foo:”,然後遇到\K,以前的匹配字元被認為是理所當然的,並且由正規表示式保留,這意味著只有 .*匹配的字串將被 baz 替換,從而產生文字:

foo:baz

例 2