如何使用超过 9 个反向引用的 gsub?
我希望下面示例中的输出为“e,g,i,j,o”。
> test <- "abcdefghijklmnop"
> gsub("(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)(\\w)", "\\5, \\7, \\9, \\10, \\15", test, perl = TRUE)
[1] "e, g, i, a0, a5"
See R 语言的正则表达式 http://www.regular-expressions.info/rlanguage.html:
您可以使用反向引用\1
通过\9
在替换文本中重新插入与 a 匹配的文本捕获组 http://www.regular-expressions.info/brackets.html。整个匹配没有替换文本标记。将整个正则表达式放入捕获组中,然后使用\1
.
但是有了PCRE你应该能够使用命名组 http://www.regular-expressions.info/named.html。所以尝试一下(?P<
name
>
regex
)
用于组命名和(?P=
name
)
作为反向引用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)