带有两个元音和三个辅音的字符串的正则表达式

时间:2014-02-20 02:18:33

标签: regex

我有一组五个字符串,这些字符串是从 a z (az)的字符组合,我需要将它们缩小为两个字符串元音,即

*agyge,aohhh,itgtu..etc

我认为这种模式^[^(aeiou)]*[aeiou]{2}[^(aeiou)]*$可行,但事实并非如此。请帮助。

2 个答案:

答案 0 :(得分:1)

kabb's answer开始,捕获整个字符串,您需要将其答案包装在捕获组中,并使当前捕获组成为非捕获组:

^((?:[^aeiou]*[aeiuo]){2}[^aeiou]*)$

示例:

agyge # matched
aohhh # matched
itgtu # matched
artdd # no match
bnghk # no match

演示: http://regex101.com/r/gU1qU0

答案 1 :(得分:0)

这应该有效

([^aeiou]*[aeiuo]){2}[^aeiou]*

它尝试查找包含0个或更多辅音后跟元音的字符集,两次。如果它管理它,那么它匹配任何剩余的辅音。

如果它与整个字符串匹配,则它满足您的条件。