Python正则表达式:匹配组周围的可选空白区域

时间:2015-10-13 14:26:15

标签: python regex

我想在以下正则表达式中的运算符组之前和之后接受一个空格。我该如何做到这一点?

user LIKE bob%
user=bob
user = bob

我想与这个正则表达式匹配的三个例子是:

x => (!showCompanyPagesOnly) || x.ShowCompanyPage

1 个答案:

答案 0 :(得分:1)

text = 'user = bob'
a = re.match(r'(?P<key>.*?) ?(?P<operator>NOT LIKE|LIKE|<=>|>=|<=|!=|<>|=|>|<) ?(?P<values>.*)',text)
print a.group()

输出:

user = bob

如果您希望空格成为第二组的一部分。你可以在下面做。

a = re.match(r'(?P<key>.*?)(?P<operator> ?[NOT LIKE|LIKE|<=>|>=|<=|!=|<>|=|>|<] ?)(?P<values>.*)',text)

a.group(2)

输出:

 = 

由于您提到了空格(空格,制表符等),您可以用\s

替换空格