【发布时间】:2012-01-20 22:39:55
【问题描述】:
我想匹配由逗号分隔的三个字符的字母序列(只允许使用字母 'a'、'b'、'c')(最后一组不以逗号结尾)。
例子:
abc,bca,cbb
ccc,abc,aab,baa
bcb
我写了以下正则表达式:
re.match('([abc][abc][abc],)+', "abc,defx,df")
但是它不能正常工作,因为对于上面的例子:
>>> print bool(re.match('([abc][abc][abc],)+', "abc,defx,df")) # defx in second group
True
>>> print bool(re.match('([abc][abc][abc],)+', "axc,defx,df")) # 'x' in first group
False
它似乎只检查第一组三个字母,但它忽略了其余的。如何正确编写这个正则表达式?
【问题讨论】: