我有一组五个字符串,这些字符串是从 a 到 z (az)的字符组合,我需要将它们缩小为两个字符串元音,即
*agyge,aohhh,itgtu..etc
我认为这种模式^[^(aeiou)]*[aeiou]{2}[^(aeiou)]*$
可行,但事实并非如此。请帮助。
答案 0 :(得分:1)
从kabb's answer开始,捕获整个字符串,您需要将其答案包装在捕获组中,并使当前捕获组成为非捕获组:
^((?:[^aeiou]*[aeiuo]){2}[^aeiou]*)$
示例:
agyge # matched
aohhh # matched
itgtu # matched
artdd # no match
bnghk # no match
答案 1 :(得分:0)
这应该有效
([^aeiou]*[aeiuo]){2}[^aeiou]*
它尝试查找包含0个或更多辅音后跟元音的字符集,两次。如果它管理它,那么它匹配任何剩余的辅音。
如果它与整个字符串匹配,则它满足您的条件。