如何将gsub与超过9个反向引用一起使用?
我希望下面的示例中的输出为“ 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"

最佳答案

参见Regular Expressions with The R Language


您可以在替换文本中使用后向引用\1\9来重新插入与capturing group匹配的文本。整体匹配没有替代文本标记。将整个正则表达式放在捕获组中,然后使用\1


但是使用PCRE,您应该可以使用named groups。因此,尝试使用(?P< name > regex )进行分组命名,并使用(?P= name )作为后向引用。

07-24 09:52