我试图找到在另一个句子中具有左括号和右括号的句子,例如 (text (more)) 。我尝试了类似以下的内容\([^\)].*?\(
- \(.*\(
- ((?:\([^]]*\))+)
至少匹配前两个((
但这是不对的,我认为最好将 ((.*)) 之类的东西与惰性量词匹配,并且它应该适用于文本中的任何内容(())
,即使它像 html 代码一样被分成几行。 ETC。
示例文本:
知道我可以(否定)字符组 知道我可以否定字符组 知道我可以否定字符组 知道我可以
否定一组字符知道(我可以否定)一组((字符
知道这一点))我可以否定一组字符知道我可以否定((字符组)(知道))我可以否定一组字符知道我可以否定一组字符知道我可以否定一组
字符知道我可以否定字符组知道我可以否定
字符组知道我可以否定字符组知道我
可以否定((知道我可以否定的字符组))组
字符a
知道我可以否定一组(字符知道我可以否定#e g[group] of chars
知道我知道我可以否定一组(字符知道))我可以否定一组字符知道
您可以使用
\([^()]*(?:(?R)[^()]*)+\)
设置:
Details
-
\(
- a (
char
-
[^()]*
- 0+ 个字符以外的字符(
and )
-
(?:(?R)[^()]*)+
- 1 or more repetitions of
-
(?R)
- 整个模式是递归的
-
[^()]*
- 0+ 个字符以外的字符(
and )
-
\)
- a )
char.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)