在python中,正则表达式是否要删除字符串中后跟数字的下划线?

在python中,正则表达式是否要删除字符串中后跟数字的下划线?,python,regex,python-2.7,Python,Regex,Python 2.7,我有这样一组字符串: CLM_ADJUSTMT.CLAIM_DATA.TUDCAP_L_2.CRT_TS_0, marks.science_0.physics_0, marks.geo_1 仅当下划线后跟数字(CRT\u TS\u 0=CRT\u TS)时,我才想删除 有人能帮我找到合适的正则表达式吗 我试着用 re.sub('_[0-9]+$', '',newstr) 但它会删除所有下划线和数字 输出: CLM_ADJUSTMT.CLAIM_DATA.TUDCAP_L.CRT_TS,

我有这样一组字符串:

CLM_ADJUSTMT.CLAIM_DATA.TUDCAP_L_2.CRT_TS_0, 
marks.science_0.physics_0,
marks.geo_1
仅当下划线后跟数字(CRT\u TS\u 0=CRT\u TS)时,我才想删除 有人能帮我找到合适的正则表达式吗

我试着用

  re.sub('_[0-9]+$', '',newstr)
但它会删除所有下划线和数字

输出:

CLM_ADJUSTMT.CLAIM_DATA.TUDCAP_L.CRT_TS,
marks.science.physics,
marks.geo

正如@wiktor所说,删除«$»符号,这意味着您要查找的字符串必须以[0-9]结束,而不仅仅是包含。

您的预期输出是什么?试一试是预期输出还是当前输出?如果需要,请尝试
re.sub(r'.\d+','',s)
,删除模式中的
$
。非常感谢:-)re.sub(r'.\d+','',s)这很有效!!