我正在获取文本的最后一个单词,直到一个停止词。
想象一下我有文本:
first_part = "This is a text that with the blue paper"
从头至尾,我想得到";蓝纸";。
为了做到这一点,我使用正则表达式模块
import regex as re
print(first_part)
result=re.search(r"(?r)(?<=(s*b(an|a|the|for)bs*))(?P<feature>.*?)(?=s*)$",first_part)
print(result)
Regex解释:
(?r(=反向
$=从字符串的末尾开始
这很好用。但是我使用模块regex以便能够使用"regex";(?r(";意思是相反。
有人知道使用re是否可以做到这一点吗?我需要使用标准库功能来实现此功能。
如果你在前面加一个贪婪的匹配,在后面加一个懒惰的匹配,你只会得到最后的单词。。但不能百分之百确定这是你想要的。
>>> first_part = "This is a text that with the blue paper"
>>> m = re.match(r"(?:.*)(?:an|a|the|for)W(.+?)$", first_part)
>>> m[1]
'blue paper'