正则表达式:查找不包含大括号的行

时间:2018-07-10 07:03:43

标签: regex windows notepad++

美好的一天。我只想选择不包含}});){但确实包含(

的行

在此示例中,我只想匹配以简单的php is括号括住的以(开头的行

  

php是(最开放的...

     

EmbedManager.embed({键:   “ https://fs2.formsite.com/res/showFormEmbed?EParam=m%2FOmK8apOTAL%2BJ4ksjDS9NNt7h1SghSJ6&1919401971”,     width:“ 100%”,mobileResponsive:true});

     

制作(家庭)版32 https://s ..

我制作了一个正则表达式,但是效果不佳,因为它也会从第一行中选择第一个括号:

^[^(\r\n]*\K\)(?!;)(?![\}])(?![\{])|\((?!(?-s).*\))

2 个答案:

答案 0 :(得分:2)

您可以替换不匹配的行,然后不进行任何替换。尝试进行查找:

^(?=.*(\}\}|\);|\)\{))(?!.*\().*$

然后什么也不要替换。

这应该留在您要查看的行后面。

如果您只想突出显示/切换匹配的行,则可以改写上面的正则表达式以使用否定的前瞻:

^(?!.*(\}\}|\);|\)\{))(?=.*\().*$

这将与您要查看的行匹配。

Demo

答案 1 :(得分:0)

我找到答案! Evrika !!

查找:

\((?!.*[()]).*$

\((?!.*[\)]).*$

^[^(\r\n]*\K\)(?!;)(?![\}])(?![\{])|\((?!.*[\{]).*$