php - {*or*} 的正则表达式(Laravel 5.7 升级的 PhpStorm)
问题描述
我正在升级到 Laravel 5.7,作为其中的一部分,我需要将or
Blade 中的所有内容更新为??
,无论它们被大括号({{ }}
或{!! !!}
)包围。我正在尝试在 PhpStorm 中使用 Regex 来查找所有此类实例(即{*or*}
,其中*
可能是任意数量的任意字符)。
我该怎么做?
我自己确实尝试过,但我是 Regex 的新手,我的尝试可能非常糟糕:
/{[^!][or]}/
解决方案
我不会使用正则表达式来尝试实现这一点,主要是因为本文中概述的原因,它更深入地探讨了计算机理论。基本上正则表达式不能“记住”上下文开始标签,例如 {{ 或 {!! 将它们与结束标签配对;一个匹配你想要做的事情的正则表达式(找到 {{ something here }} 或 {!! something here, too !!} 也会匹配这个 {{ something wrong !!}。也就是说,你可以写你的自己的转换器,它将能够维护该上下文,或者通过手动执行繁重的工作。您还可以进行一些研究以找出是否其他人已经完成了它。但是,正则表达式可能是错误的工作的工具。
推荐阅读
- spring-boot - 是否有另一种方法或 io.swagger 注释可以隐藏字段,例如 @ApiModelProperty 如何隐藏自定义对象的字段?
- javascript - 使用 .htaccess/ 时如何防止文件 URL 的错误方向
- ruby-on-rails - 使用正则表达式根据用户名的最后一个字母更改文本
- sql - informatica 中的字符串到日期时间
- python-3.x - AWS Lex Lambda 使用 Python 返回多行
- javascript - Quill JS自定义印迹插入文本“true”而不是正确的文本
- google-bigquery - 使用 Logstash BigQuery 插件将数据加载到 BigQuery 时出现异常
- javascript - 无法使用 jQuery AJAX 发送多个数据参数
- python - 将显示凯撒密码字典的 Python 函数
- python - 如何以生产者-消费者模式等待和检索结果?