cra*_*lly 6 regex backreference r capture-group
当我使用vim时,我经常使用&反向替换整个匹配.例如,以下内容将"foo"的所有实例替换为"foobar":
%s/foo/&bar/g
Run Code Online (Sandbox Code Playgroud)
这里的好处是懒惰:我不必在匹配中键入括号,我只需要为替换中的反向引用键入一个字符而不是两个字符.也许更重要的是,在我输入比赛时,我没有弄清楚我的背叛,减少了认知负担.
是否有一个等同于&我在R的正则表达式中使用vim(可能使用perl = T参数)?
基本R/函数的答案是NO,请参阅此参考:subgsub
整体匹配没有替换文本标记.将整个正则表达式放在捕获组中,然后使用
\1插入整个正则表达式匹配.
但是,stringr你可以使用\0:
> library(stringr)
> str_replace_all("123 456", "\\d+", "START-\\0-END")
[1] "START-123-END START-456-END"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |