正则表达式 - 匹配双花括号之间的多行内容

时间:2015-11-08 22:40:58

标签: regex phpstorm

我正在尝试重构一些代码,需要使用正则表达式来查找大量字符串。示例字符串如下:

  {{ Form::text('twitter', Input::old('twitter'), 
              array(
                    'class'=>'form-control ',
                    'placeholder'=>'E.g http://www.twitter.com/MyTwitterPage'
                    ))

 }}

我已设法使用\{\{(.*\s*Form::.*\s*)\}\}来匹配字符串,但它不能匹配多行字符串,如上所述。

此外,如果有任何帮助,我正在使用PHPStorm的正则表达式查找功能。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

您可以使用

\{\{(\s*Form::\w*\((?:[^}]*(?:}[^}]+)*))}}

请参阅regex demo

它与\{\{(\s*Form::\w*\([\s\S]*?)}}基本相同,但它使用展开的逻辑,因此非常有效。

答案 1 :(得分:0)

预先填写文件并删除换行符。

或将/ s标志设置为正则表达式,看看是否有效,不确定php是否支持它。

/etc/rc.local