正则表达式匹配MINUS与空格

时间:2018-03-07 01:32:29

标签: python regex regex-group

我必须定义一个正则表达式:

r'[ - &]' 

所以,spaceMINUSspace应该作为一件事。

例如:

它应匹配字符串:foo - barfoo&bar。它不应与此类foo-bar匹配。

请建议我该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用re.match,使用以下模式:

.*\w+(?:( - )|&)\w.*

这表示匹配两个单词,由-&分隔。这是一段代码:

line = "foo - bar"
match = re.match( r'.*\w+(?:( - )|&)\w.*', line, re.M|re.I)

if match:
    print "Found this match: ", match.group()

或者,正如@Sean指出的那样,我们可以使用re.search

line = "foo - bar"
pattern = re.compile(r'\w+(?:( - )|&)\w')

if pattern.search(line):
    print "Found this match: ", line