我希望将句子中最后一个单词(排除在一起)与其余单词匹配。
实施例 寻找“马铃薯”这个词,期待选择粗体字:
马铃薯,橙子,土豆,李子,梨等
我整理的正则表达式是这样的,但不能完全正常工作
(potato:(?!.*potato)).*
答案 0 :(得分:2)
这会有用吗?
potato(?!.*potato)(.*)
答案 1 :(得分:1)
您可以查找一组或多组“马铃薯后跟的东西”,而不捕获它们,然后捕获其余的字符串:
import re
regex = re.compile(r'(?:.*potato)+(.*)')
m = regex.match('potato, orange, potato, plum, pear, etc.')
m.groups(1)[0]
# ', plum, pear, etc.'
另外,你不必让马铃薯在正则表达式中出现两次。
答案 2 :(得分:0)
您可以在不使用正则表达式的情况下尝试:
str1 =“马铃薯,橙子,土豆,李子,梨等”
str_index = str1.rfind(“potato”,0,len(str1))
print str1 [str_index + len(“potato”)::]
输出::
,李子,梨等