Python正则表达式,用于第二个最后一个单词

2024-04-25 05:22:10 发布

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

假设以下内容返回匹配对象='21'

test = re.compile(r'\b\S+\.?$', re.IGNORECASE)

text = 'Random Big Things 21'

test(text)

如何修改正则表达式以提取Python中的“东西”


Tags: 对象texttestrerandomcompilethingsbig
2条回答

如果您只想通过正则表达式获取句子的最后一项,那么可以使用

text = 'Random Big Things 21'
print(re.findall("\w+", text)[-2])

这将提取一个或多个字符,直到下一个非字符,它将返回一个列表,您可以在最后一个匹配的第二个字符-2之前获得该列表

先把字符串倒过来,然后在第一个空格后找到第一个单词,这会给你最后的第二个单词:

import re
text = 'Random Big Things 21'
test = re.search('(?<=\s)\w+', text[::-1])
print(test.group(0)[::-1])

这将返回Things

注意,我使用切片符号s[::-1]来反转字符串s

还要注意的是,一旦你找到了这个词,你必须再次将它颠倒过来

相关问题 更多 >