Python /正则表达式 - 只在字符串末尾用模式替换
问题描述:
我需要替换字符串末尾的每个括号。我使用此代码:Python /正则表达式 - 只在字符串末尾用模式替换
a = '1 (FR) Product (IT, DE, ES)'
b = re.sub(r' \((.*?)\)',r'', a)
但是,这将取代我的字符串中的每个括号。如何让python只在模式位于字符串末尾才能替换它?
答
捕捉一切,但(
)
之前和字符串标识符结束$
:
>>> import re
>>> a = '1 (FR) Product (IT, DE, ES)'
>>> re.sub(r'\(([^(]*\))$', '', a)
'1 (FR) Product '
答
if a[-1] == ")" a = a[:-2]
将工作