我想匹配由逗号分隔的三个字符的字母序列(只允许使用字母'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
似乎只检查第一组三个字母,但它忽略了其余部分。如何正确编写这个正则表达式?
你解释清楚,正则表达式将需要在开始和结束锚,但不包括``^在您的解决方案。 – stema 2011-12-15 08:01:20
糟糕!谢谢,我会编辑它。 – Sonya 2011-12-15 08:07:39