正则表达式使用记事本++查找双括号

时间:2018-12-16 11:40:28

标签: regex match notepad++

我正在尝试查找在另一个括号内有开括号和闭括号的句子,例如(text(more))。我尝试了以下类似的方法:\([^\)].*?\(-\(.*\(-((?:\([^]]*\))+)至少与前两个((匹配,但这是不对的,我认为匹配一些东西会更好像((。*))一样,并且带有惰性的量词,并且(())之间的文本中的任何内容都可以使用,即使它像html代码一样在行之间划分也是如此。等

示例文本:

  

知道我可以(否定)字符组aknow我可以否定字符组aknow我可以否定字符组aknow可以   否定字符组aknow(我可以否定)((chars   知道))我可以否定一组字符知道我可以否定   (字符组)(知道)我可以否定字符组,但又可以否定字符组,但是我可以否定字符组   chars知道我可以否定一组chars知道我可以否定一组   一组字符知道我可以否定一组字符知道我   可以否定((一组字符,我知道可以否定))   字符

     

确认我可以否定组(字符),知道我可以否定#e g [roup]个字符

     

确认知道我可以否定一组(字符),

1 个答案:

答案 0 :(得分:2)

您可以使用

\([^()]*(?:(?R)[^()]*)+\)

设置:

enter image description here

详细信息

  • \(-一个(字符
  • [^()]*-除()以外的0多个字符
  • (?:(?R)[^()]*)+-重复1次或更多次
    • (?R)-整个模式都重新出现
    • [^()]*-除()以外的0多个字符
  • \)-一个)字符。

enter image description here