6

vim を使用するときは、&置換内の一致全体を後方参照するために使用することがよくあります。たとえば、次は「foo」のすべてのインスタンスを「foobar」に置き換えます。

%s/foo/&bar/g

ここでの利点は怠惰です: マッチで括弧を入力する必要がなく、置換の後方参照に 2 文字ではなく 1 文字を入力するだけで済みます。おそらくもっと重要なことは、マッチを入力しているときに後方参照を理解する必要がないため、認知負荷が軽減されることです。

&Rの正規表現内でI'm using in vimに相当するものはありますか(おそらくperl = T引数を使用しています)?

4

2 に答える 2

7

ベース R sub/ gsubfunctions : 答えはNOです。次のリファレンスを参照してください。

全体的な一致の代替テキスト トークンはありません。正規表現全体をキャプチャ グループに配置し、\1正規表現一致全体を挿入するために使用します。

パッケージstringr内:はい使用できます\0:

> library(stringr)
> str_replace_all("123 456", "\\d+", "START-\\0-END")
[1] "START-123-END START-456-END"
于 2016-08-01T19:10:43.277 に答える