Python 向正则表达式添加限制

Python 向正则表达式添加限制,python,regex,Python,Regex,在数十万个单词中,有两个例子-- 我需要的输出是: JANE_FONDA_AM_PM_YOGA_FOR_BEGINNERS JANE_FONDA 我提出的正则表达式是: vendor_id_stem = re.sub(r'(_[A-Za-z_]*|_?[A-Za-z]{2,4}?\d?)$', "", vendor_id) 它现在给了我: JANE # BAD JANE_FONDA # GOOD 我需要它做的是确保如果没有像“en001”这样的结尾,它不会删除任何内容,我将如何修改现有的正

在数十万个单词中,有两个例子--

我需要的输出是:

JANE_FONDA_AM_PM_YOGA_FOR_BEGINNERS
JANE_FONDA
我提出的正则表达式是:

vendor_id_stem = re.sub(r'(_[A-Za-z_]*|_?[A-Za-z]{2,4}?\d?)$', "", vendor_id)
它现在给了我:

JANE # BAD
JANE_FONDA # GOOD
我需要它做的是确保如果没有像“en001”这样的结尾,它不会删除任何内容,我将如何修改现有的正则表达式来执行此操作?

尝试以下操作:

var s = "JANE_FONDA_EN"
s.replace(/_EN.*[^_]/, '');

> "JANE_FONDA"
vendor_id_stem = re.sub(r'(_[A-Za-z]*|_?[A-Za-z]{2,4}?\d?)$', "", vendor_id)

我需要它做的是确保如果没有像“en001”这样的结尾。。但是第二个字符串的末尾没有en001。那么,是什么告诉你你想脱掉
\u EN
而不是
\u初学者
?别忘了投票支持我的答案;)
vendor_id_stem = re.sub(r'(_[A-Za-z]*|_?[A-Za-z]{2,4}?\d?)$', "", vendor_id)