RegEx匹配直到两个字符匹配

时间:2015-10-19 06:35:04

标签: php regex

我正在为自定义语法制作自己的模板引擎解析器。

想要替换一些代码。

我想将{{ $code }}替换为<?php $code ?>

以下是替换代码的测试用例

<p>{{ $data . '{data}' }}</p>
   <p>{{ 'data' }}</p>
<p>{{'data'}}</p>
<p>{{  'data'}}</p>
<p>{{'data' }}</p>
    <p>{{
        'data' }}</p>

下面是正则表达式,它匹配除第一个以外的所有情况

{{([^}]*)}}

下面是我添加相同代码的网址

http://regexr.com/3c0tn

1 个答案:

答案 0 :(得分:1)

您可以将此正则表达式与DOTALL标志一起使用:

'/{{(.*?)}}/s'

RegEx Demo

切换/s也会使DOT与换行符匹配。