Regex 正则表达式-如何避免某个组?

Regex 正则表达式-如何避免某个组?,regex,Regex,我需要匹配右括号,后跟引号:)“ 与此字符串中的最后两个字符类似: He said "Free Willi (song)" 我使用以下正则表达式,它们确实匹配: (?:\))(") 我的问题与分组有关:此正则表达式导致两个组: 第1组:)“ 第二组:“ 我希望避免使用第一个组,并且只有一个组包含双引号(因为一些通用代码只使用第一个组) 有没有办法避免第一组 我想我是通过使用表达式左侧的?:来实现的,但显然我没有。你可以使用正向查找 (?<=\))(\") (?不捕获它?\)(“”应该

我需要匹配右括号,后跟引号:
)“

与此字符串中的最后两个字符类似:

He said "Free Willi (song)"
我使用以下正则表达式,它们确实匹配:

(?:\))(")
我的问题与分组有关:此正则表达式导致两个组:

第1组:
)“

第二组:

我希望避免使用第一个组,并且只有一个组包含双引号(因为一些通用代码只使用第一个组)

有没有办法避免第一组


我想我是通过使用表达式左侧的
?:
来实现的,但显然我没有。你可以使用正向查找

(?<=\))(\")

(?不捕获它?
\)(“”
应该可以。这一个还可以分为两组…这一组在测试工具中工作得很好,但不幸的是Java不支持它(我在描述中没有提到它)。但是-非常感谢-我相信它会帮助别人!对我有效的解决方案是“回头看”方案——谢谢你——我对此并不陌生。