【发布时间】:2022-04-23 02:54:59
【问题描述】:
我试图创建一个正则表达式,它允许任意数量的辅音,或任意数量的元音,或辅音和元音的混合,这样我们在开头只有任意数量的辅音,后跟任意数量的元音只是,元音后面不能有辅音,从例子中会更清楚:
以下情况应该通过:
TR, EE, TREE, Y, BY.
但以下不应该通过表达式:
TROUBLE, OATS, TREES, IVY, TROUBLES, PRIVATE, OATEN, ORRERY.
所以通常可以将其可视化为:[C] [V]
C - 辅音
V - 元音
[ ] - 方括号表示其内容的任意存在。
我找到了这段代码:
import re
def find_m(word):
if re.match("[^aeiou]*?[aeiou]*?",word):
print "PASS"
else:
print "FAIL"
find_m("tr")
find_m("ee")
find_m("tree")
find_m("y")
find_m("by")
find_m("trouble")
find_m("oats")
find_m("trees")
find_m("ivy")
find_m("aaabbbbaaa")
但它在所有情况下都通过了,我需要一个正确的表达式来给出所需的结果。
【问题讨论】: