PHP正则表达式{{}}

时间:2015-07-10 02:27:54

标签: php regex

我正在为preg_match编写PHP正则表达式时遇到困难。基本上我需要匹配以下模式:

{{anything}}
{{{anything}}}

但这很容易。我想用“”(空字符串)替换这样的表达式,如果字符串只包含这个,但如果字符串包含其他东西,我需要保留,所以后面的字符串将变为有效:

this is about {{anything}}
{{{anything}}} anywhere

非常感谢帮助:)。

2 个答案:

答案 0 :(得分:1)

只需使用锚点。

preg_replace('~^\{+[^{}]*\}+$\n?~m', '', $str);

DEMO

答案 1 :(得分:0)

您也可以使用T-Regx

pattern('\{+[^{}]*\}+')->replace()->all()->callback(function (Match $m) {
    if ($m->text() === 'anything') {
        return '';
    }
    return $m->text();
});