在这篇文章中
回答说,匹配事物只是为了忽略它们。我想使用该示例,但我想只打印未被忽略的匹配项。答案 0 :(得分:2)
如果您想确保foo
后面跟bar
,如果您只对bar
感兴趣,那么您可以使用后置断言,就像这样< / p>
re.findall("(?<=foo )bar", "foo bar")
# ['bar']
而不是bar
,如果您要匹配foo
后跟的任何内容,您可以
re.findall("(?<=foo ).*", "foo google")
# ['google']
答案 1 :(得分:1)
这将在列表中留下空白项目。但是对于我认为你要问的内容,你可以在上下文中使用交替运算符放置你想要排除在左边的内容,(说扔掉它,它的垃圾)并放置什么你想在右侧的一个捕获组中匹配,只打印捕获的匹配。
>>> re.findall(r'foo|(bar)', 'foo bar foo bar')
['', 'bar', '', 'bar']