如何使用Python关于芬德尔仅打印捕获匹配项?

2024-09-30 01:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

在这个岗位上

Regular expression negative lookbehind of non-fixed length

回答者说,匹配事物只会忽略它们。我想用这个例子,但我只想打印不被忽略的匹配。你知道吗


Tags: oflength例子事物fixedexpressionnonnegative
2条回答

如果您想确保,foo后面应该跟bar,并且如果您只对bar感兴趣,那么可以使用look-behind断言,如下所示

re.findall("(?<=foo )bar", "foo bar")
# ['bar']

如果您想匹配任何后跟foo的内容,可以这样做,而不是bar

re.findall("(?<=foo ).*", "foo google")
# ['google']

这将在列表中留下空项。但是对于我假设您要问的问题,您可以在上下文中使用alternation操作符将您想要排除的内容放在左侧,(说扔掉这个,这是垃圾),并将您想要匹配的内容放在右侧的捕获组中,以便只打印捕获的匹配。你知道吗

>>> re.findall(r'foo|(bar)', 'foo bar foo bar')
['', 'bar', '', 'bar']

相关问题 更多 >

    热门问题