使用RegEx替换{{Asd}}之类的字符串

时间:2014-03-21 16:45:09

标签: php regex arrays function

我对正则表达式的理解几乎为0,我正在搜索一个表达式,该表达式使用preg_replace替换(PHP)字符串中的所有表达式,如{{AWord}}

(\{\{\w\}\})

我希望这有效,但事实并非如此。

示例:

这是{{just}}一个{{SHORT0}}示例。

预期产出:

这是一个例子。

3 个答案:

答案 0 :(得分:1)

你很接近,但\w只匹配一个字符(字母,数字或下划线)。使用

(\{\{\w+\}\})
  • + quantifier表示"一个或多个"
  • *表示"零或更多"
  • ?表示"零或一个"

答案 1 :(得分:0)

假设{

内没有}{{...}}
(\{\{[^\}]*\}\})

[^\}]*表示}

以外的任何字符

答案 2 :(得分:0)

您可以使用~{{(.*?)}}~

<?php
$str='This is {{just}} a {{SHORT0}} example.';
echo $str = preg_replace("~{{(.*?)}}~","", $str);

<强> OUTPUT :

This is a example.

Demo

enter image description here