正则表达式{*或*}(PhpStorm为Laravel 5.7升级)

问题描述 投票:-1回答:2

我升级到Laravel 5.7和的那部分我需要更新刀片所有or??,无论它们是由大括号({{ }}{!! !!})包围。我试图用正则表达式中PhpStorm找到这所有实例(即{*or*}其中*可以是任意数量的任何字符)。

我会怎么做呢?

我做了这个尝试自己,但我是新来的正则表达式,我的尝试可能是可怜坏:

/{[^!][or]}/
php regex laravel phpstorm
2个回答
2
投票

我不会用正则表达式,试图做到这一点,主要是因为在this文章,潜得更深一些,到计算机的理论概括原因。基本上,正则表达式不能“记住”上下文开始标签,例如{{{或!!将它们配对的结束标记;匹配你要怎样做一个正则表达式(找到{{东西在这里}}或{!这里的东西也!}也将匹配该{{不对劲!}。这就是说,你可以写你的自己的转换器,这将能够保持这一背景下,或经过的做手工繁重,你也可以做一些研究,以找出是否有人已经做到了。正则表达式,但是,很可能是错误的的工具的工作。


0
投票

我发现下面是接近这个用例(可根据需要进行调整位)的解决方案:

\{(.*)\bor\b(.*)\}

例如只是搭配双{{,你可以使用:

\{\{(.*)\bor\b(.*)\}\}

(在PHPStorm您可能需要点击过滤器复选框,上面写着“除注释”)

不能很好地工作,因此,如果任何人有一个更好的解决方案,请张贴!

© www.soinside.com 2019 - 2024. All rights reserved.