string <- c("tyuynmklabcwsqzp")
如果我的任务是用“abc123”替换每个“abc”,代码是,
gsub("abc", "\\1123", string)
但是,如果我必须搜索“abc”然后将其替换为“c123”,那我该怎么做呢?有没有办法将正则表达式分成几部分,以便我可以像 \1 一样拥有 \2?如果可能的话,那么我的命令是,
gsub("abc", "\\2123", string).
请帮忙。
您可以使用括号将正则表达式的各个部分组合在一起,随后将重复运算符或反向引用应用于匹配的组。
在你的情况下,试试这个:
string <- c("tyuynmklabcwsqzp")
gsub("(ab)(c)", "\\2123", string)
# [1] "tyuynmklc123wsqzp"
尝试使用
gsub("(abc)", "\\1123", string) # abc → abc123
和
gsub("ab(c)", "\\1123", string) # abc → c123