用正则表达式匹配两个后续单词?

时间:2010-12-13 20:41:44

标签: python regex

我有以下字符串:

  

The Wild以2比1击败Flames。

我需要从该字符串中提取团队名称和分数。在Python中,我做了以下内容:

 foo = re.findall(r'The (\w+) won (\d+) - (\d+) over the (\w+)\.', mystring)

现在问题是,团队名称中有空格,如下所示:

  

红翼队以4比3战胜蓝夹克。

我如何编写匹配这两个字符串的正则表达式?

3 个答案:

答案 0 :(得分:3)

使用([\w ]+)代替(\w+)

答案 1 :(得分:3)

您只需编辑原始正则表达式,即可在团队名称组中包含空格:

foo = re.findall(r'The ([\w ]+) won (\d+) - (\d+) over the ([\w ]+)\.', mystring)

答案 2 :(得分:1)

如果格式真的那么一致,你可以放松一下你的表达,它会工作正常:

foo = re.findall(r'The (.+) won (.+) - (.+) over the (.+).', mystring)