正则表达式,字符串用逗号分隔,字符串'和'在末尾

时间:2018-04-20 03:43:37

标签: python regex

我是编写正则表达式的新手,我想编写一个匹配一个或多个x字符串的表达式:

x or x and x or x, x, and x and so on

非法的例子包括:

xx or x, x or x and x and x

到目前为止我的表达方式是:

r'^((x|\sand|\sx))+$'

xx and x匹配,但我不确定如何包含逗号和更多x

2 个答案:

答案 0 :(得分:0)

您当前的尝试与x and相匹配。但试试这个;

r'x(?:,\s*x)*\s+and\sx'

重复次数未知的问题在于,如果没有进一步分析,您就不知道有多少组;所以我拿出了分组括号(其中一些完全是多余的)。

答案 1 :(得分:0)

你想要这样的正则表达式吗?

x(?:\s*(?:and|,)\s*x)*

Demo