我正在尝试做我认为是一个简单的正则表达式查询。在下面的示例中,我试图找到“副词”和“动词”之间的所有文本。我得到的输出是'verb'
,我认为这是文本'动词'在'副词'中的结果。
re.search(r'adverb.+noun|\bverb', 'adverb with text verb text from here on')
我的问题是如何获得我需要的文字?正如你所知,我需要迎合多个结束词。
如果它有所作为,我使用的是Python 2.7。
答案 0 :(得分:5)
你的正则表达式应该是这样的:
您可以使用re.search()
当然..
import re
string = 'adverb with text verb text from here on'
print re.findall(r'adverb(.*?)verb', string)
它打印出来:
# [' with text ']
<强>编辑:强>
如果你想获得noun
,请使用:
import re
string = [
'adverb with text verb text from here on',
'adverb with text noun text from here on'
]
print [re.findall(r'adverb(.*?)(?:verb|noun)', s) for s in string]
现在你有了:
# [[' with text '], [' with text ']]