2024-09-30 01:21:41 发布
网友
在这个岗位上
Regular expression negative lookbehind of non-fixed length
回答者说,匹配事物只会忽略它们。我想用这个例子,但我只想打印不被忽略的匹配。你知道吗
如果您想确保,foo后面应该跟bar,并且如果您只对bar感兴趣,那么可以使用look-behind断言,如下所示
foo
bar
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']
如果您想确保,
foo
后面应该跟bar
,并且如果您只对bar
感兴趣,那么可以使用look-behind断言,如下所示如果您想匹配任何后跟
foo
的内容,可以这样做,而不是bar
这将在列表中留下空项。但是对于我假设您要问的问题,您可以在上下文中使用alternation操作符将您想要排除的内容放在左侧,(说扔掉这个,这是垃圾),并将您想要匹配的内容放在右侧的捕获组中,以便只打印捕获的匹配。你知道吗
相关问题 更多 >
编程相关推荐