如何使用Python中的正则表达式捕获括在括号中的单词?

时间:2013-05-30 01:45:17

标签: python regex python-2.7

我有一个名为 jumpball

的字符串
u'\n               (12:00) Jump Ball Hibbert vs Bosh (Chalmers gains possession)\n            '

我想提取 Hibbert Bosh Chalmers

我可以通过以下方式找到第一个:

roadJumper = re.findall(r'Ball(.*?)vs',jumpball)

我想要找到的另外两个名字是在开头括号“之前和之后(”,我不知道如何解决它。

我认为我应该能够使用 lookahead lookbehind 来避开括号,但我还没想到它。

2 个答案:

答案 0 :(得分:3)

>>> print re.search("(\w+) vs (\w+) \(\s?(\w+)",my_string).groups()
(u'Hibbert', u'Bosh', u'Chalmers')

答案 1 :(得分:0)

我认为您正在寻找的是如何逃避括号,我是对的吗?

尝试这样的事情:

r'Ball(\ w +)vs(\ w +)\((\ w +)'

请注意,第三个左括号是转义的。

如果您现在正在学习如何使用正则表达式,我建议您先阅读this,如果还没有