我正在尝试做我认为是简单的正则表达式查询的事情。在下面的示例中,我试图查找单词“副词”和“动词”之间的所有文本。我得到的输出是'verb'
,我认为这是文本“动词”在“副词”中的结果。
re.search(r'adverb.+noun|\bverb', 'adverb with text verb text from here on')
我的问题是我怎么能在这里得到我需要的文字?正如你所知道的,我需要满足多个尾串词。
如果它有所作为,我使用的是 Python 2.7。
你的正则表达式应该是这样的:
你当然可以使用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 ']]