我知道它应该是这样的,但我肯定在语法中遗漏了一些东西:
yy=sub(r'\b[aeiou][^aeiou]*',r'\b[^aeiou][aeiou]*',"abmmmm")
我希望将“bammmm”作为输出
Error: unexpected string constant in "yy=sub(r'\b[aeiou][^aeiou]*'"
我不确定确切的语法是什么。
请在RStudio或任何R编译器中运行您的代码。我是正则表达式的新手,你给我Python代码不会帮助我理解这种情况。谢谢!
答案 0 :(得分:4)
这就是你想要的
yy=sub("\\b([aeiou])([^aeiuos])","\\2\\1","abmm")
我会解释它是如何运作的:
(
标记组1,第二个(
标记组2等(注意,组0是整个匹配的字符串。)您可以在第二个中使用\ 1,\ 2,...将匹配的组放在那里的论据。答案 1 :(得分:2)
作为使用正则表达式的替代方法,example(strsplit)
> strReverse <- function(x)
sapply(lapply(strsplit(x, NULL), rev), paste, collapse="")
> dd <- "abmmmm"
> paste(strReverse(substr(dd, 1, 2)), substr(dd, 3, nchar(dd)), sep = "")
[1] "bammmm"