我试图从矢量中找到任何不包含连续元音的单词,我将其定义为[aeiou]
。例如,我想要“阿拉斯加”或“密西西比”,而不是“格鲁吉亚”或“夏威夷”。我知道{2,}
指定了两个或更多内容,而[^...]
则没有。但我无法弄清楚如何在grep下将它们组合起来。帮助
states <- c('Alaska','Georgia','Hawaii','Mississippi')
答案 0 :(得分:5)
你几乎已经有了这个答案:
states[!grepl("[aeiou]{2}", states)]
[1] "Alaska" "Mississippi"
我只会在states
(如上所述)中提取逻辑否定,而不是尝试编写更复杂的正则表达式。
答案 1 :(得分:1)
\b(?![a-z]*[aeiou]{2})[a-z]+\b
试试这个。看看演示。
https://regex101.com/r/sJ9gM7/45
对于r
,它将是\\b(?![a-z]*[aeiou]{2})[a-z]+\\b
使用perl=True