Skip to main content
 首页 » 编程设计

python之删除括号替换第一个匹配项

2025年05月04日10mengfanrong

例如:

string = '(hello) advanced technologies (2015)' 

我想删除 (hello) 但保留 (2015)。 我在网上搜索得到:

 newstring =  re.sub(r'\((?:[^)(]|\([^)(]*\))*\)',"",string) 

但它删除了两个括号:

  advanced technologies 

如何更改 re 语句以仅删除第一个括号?

请您参考如下方法:

如果你真的只想删除第一个匹配项,你可以将 count 参数传递给 sub:

re.sub(r'\((?:[^)(]|\([^)(]*\))*\)', '', string, count=1) 

结果:

' advanced technologies (2015)' 

如果您真的想要更花哨的东西,比如将所有年份都放在括号中,请在您的问题中注明。