我有一个名为 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 来避开括号,但我还没想到它。
答案 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,如果还没有