Regex 用于删除括号之间字符的正则表达式

Regex 用于删除括号之间字符的正则表达式,regex,Regex,我使用下面的正则表达式删除括号内句子中的项 \(.*?\) So in this sentence anything between (DFKJERLjDLJLF) gets removed. 但是,如果一个句子中有多个括号,我只想针对最后一个括号。如何更改正则表达式 So in this sentence (only) the last bracket and its contents (DFKJERLjDLJLF) gets removed. 更新:我尝试在我的正则表达式工具中使用\

我使用下面的正则表达式删除括号内句子中的项

\(.*?\)


So in this sentence anything between (DFKJERLjDLJLF) gets removed.
但是,如果一个句子中有多个括号,我只想针对最后一个括号。如何更改正则表达式

So in this sentence (only) the last bracket and its contents (DFKJERLjDLJLF) gets removed.

更新:我尝试在我的正则表达式工具中使用
\s\([^)]+\$
,但它不匹配如果没有语言上下文,这很难回答

大多数正则表达式系统都支持全局标志,允许您直接匹配字符串的所有匹配项


或者,您可以存储匹配的第一个位置,然后在该位置开始以后的搜索,并重复搜索,直到没有匹配为止。

python解决方案是:

def remove_last_brackets(string):
    return re.sub(r'^(.*)\(.*?\)?([^()]*)$', lambda x: x.group(1) + x.group(2), string)

*匹配每个字符,并在其反弹时将位置移动到末尾
然后
(\(.*?\)
在()中找到第一个匹配项,即从一开始的最后一个匹配项。

您使用的是什么语言?这应该是一个注释。
.*(\(.*?\))