【发布时间】:2018-06-08 05:14:59
【问题描述】:
首先,我不确定是否应该开始一个新问题,因为它已经被回答了:Regex - Match words that contain 2 or more 2 letter sequences of vowels
(那是一年前的事)
但是,我认为它被误解了..
编写一个正则表达式,匹配包含 2 个或多个 2 字母元音序列的单词(例如 visionproof, st eamier, preequip)
而且给出的答案非常一致:
(\w*(?:[aeiou]{2})\w*(?:[aeiou]{2})\w*)
但是,该问题要求 2 字母序列,然而,这个正则表达式匹配(虚构的)词,例如:plooomdooom 和 leeezaaar,其中元音序列有超过 2 个元音
任何想法如何解决这个问题?我认为 {2} 不允许元音重复超过两次
【问题讨论】:
-
所以您要求最多依次输入 2 个元音?或者您是否要求最多 2 个相同的元音,这样
ooee有效但ooo无效? -
不,我要的是包含两个以上 2 元音组的单词。例如,visionproof 将是一个很好的匹配,因为它具有 IO 和 OO。但是我给出的正则表达式也匹配带有 3 个元音集的单词 - 这是错误的
-
没错。
Beautiful有 3 个连续的元音。Cooeed有 4 个连续的元音... -
“编写一个匹配包含 2 个或多个 2 字母元音序列的单词的正则表达式”。 Beautiful 不满足这个要求,因为它只有一个 3 字母的元音序列。我想说的是元音序列不能大于2。
-
将
\w替换为[pytrwqsdfghjklmnbvcxz],你不希望出现[aeiou]