gpt4 book ai didi

python - 重复序列的正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:37 26 4
gpt4 key购买 nike

我想匹配三个字符的字母序列(只允许字母“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

似乎只检查第一组三个字母,但忽略其余部分。如何正确编写这个正则表达式?

最佳答案

尝试以下正则表达式:

^[abc]{3}(,[abc]{3})*$

^...$ 从字符串的开始到结束
[...] 给定字符之一
...{3} 前面的短语的三倍
(...)* 0 到括号中字符的 n 次

关于python - 重复序列的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8516625/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com