Python Regex表达第二个最后一个单词

问题描述 投票:-1回答:2

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

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

text = 'Random Big Things 21'

test(text)

如何修改正则表达式以提取Python中的“事物”?

python regex
2个回答
0
投票

如果只想通过正则表达式获得句子的倒数第二个项目,则可以使用

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

这将提取一个或多个任何字符,直到下一个非字符,它会返回一个列表,您可以在第二个倒数第二个匹配项之前得到-2。


0
投票

首先反转字符串然后在第一个空格之后找到第一个单词,那将给您倒数第二个单词:

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

这将返回Things

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

还请注意,一旦找到该词,就必须再次将其反转。

© www.soinside.com 2019 - 2024. All rights reserved.