gpt4 book ai didi

regex - R:环顾四周

转载 作者:行者123 更新时间:2023-12-03 20:16:34 25 4
gpt4 key购买 nike

我需要匹配以两个不同的元音开头的任何“r”。例如,“我们的”或“ pear ”将匹配,但“bar”或“aar”将不匹配。我确实设法匹配了两个不同的元音,但是我仍然无法确定后面的'r'的后向条件(...)。 (?<=...)r...\\Kr均不会产生任何结果。有任何想法吗?

x <- c('([aeiou])(?!\\1)(?=(?1))')
y <- c('our','pear','bar','aar')
y[grepl(paste0(x,collapse=''),y,perl=T)]
## [1] "our" "pear"`

最佳答案

这两个解决方案似乎有效:

为什么不这样:

x <- '(?<=a[eiou]|e[aiou]|i[aeou]|o[aeiu]|u[aeio])r'
y[grepl(x, y, perl=T)]
\K方式:
x <- '([aeiou])(?!\\1)[aeiou]\\Kr'
y[grepl(x, y, perl=T)]

为什么不这样变体(可能更有效,因为它之前搜索“r”):
x <- 'r(?<=a[eiou]r|e[aiou]r|i[aeou]r|o[aeiu]r|u[aeio]r)'

或快速排除不带两个元音的“r”(无需测试整个交替)
x <- 'r(?<=[aeiou][aeiou]r)(?<=a[eiou]r|e[aiou]r|i[aeou]r|o[aeiu]r|u[aeio]r)'

关于regex - R:环顾四周,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29605725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com