Python 单词的最后一次出现和尾随

Python 单词的最后一次出现和尾随,python,regex,Python,Regex,我希望将一个单词(排除在外)在句子中的最后一次出现与其余单词匹配 范例 查找单词“potato”,希望选择粗体: 土豆、桔子、土豆、李子、梨等 我把Regex放在一起是这样的,但是没有完全工作 (potato:(?!.*potato)).* 这样行吗 potato(?!.*potato)(.*) 您可以在不捕获的情况下查找一组或多组“anything following by potato”,然后捕获字符串的其余部分: import re regex = re.compile(r'(?:.*

我希望将一个单词(排除在外)在句子中的最后一次出现与其余单词匹配

范例 查找单词“potato”,希望选择粗体:

土豆、桔子、土豆、李子、梨等

我把Regex放在一起是这样的,但是没有完全工作

(potato:(?!.*potato)).*
这样行吗

potato(?!.*potato)(.*)

您可以在不捕获的情况下查找一组或多组“anything following by potato”,然后捕获字符串的其余部分:

import re
regex = re.compile(r'(?:.*potato)+(.*)')
m = regex.match('potato, orange, potato, plum, pear, etc.')
m.groups(1)[0]

# ', plum, pear, etc.'

另外,您不必让马铃薯在正则表达式中出现两次。

您可以尝试不使用正则表达式:

str1=“土豆、桔子、土豆、李子、梨等。”

str_index=str1.rfind(“土豆”,0,len(str1))

打印str1[str_index+len(“土豆”):]

输出::

、李子、梨等


承认我仍然不清楚这是怎么回事,但是。。。它起作用了!谢谢你!!非常感谢。我正在研究一个正则表达式,因为有很多行,所以如果要走那条路线,就需要循环。。。虽然不确定regex parf与循环相比是什么