php正则表达式查找和替换

时间:2011-01-27 16:44:22

标签: php regex preg-replace

$string = '20110306';
$pattern = '(\d{6})(\d{2})';
$replacement = '$101';
echo preg_replace($pattern, $replacement, $string);

我希望它回应20110301

我使用http://gskinner.com/RegExr/来提出搜索和替换模式,也许我在更换找到的模式时遗漏了一些东西。

它给了我以下警告:

消息:preg_replace()[function.preg-replace]:未知修饰符'('

2 个答案:

答案 0 :(得分:5)

两个变化:

  1. 您需要将正则表达式放在一对分隔符之间,例如/为::

    $pattern = '/(\d{6})(\d{2})/';
    
  2. $101指群号101。您打算将01附加到组编号1,以便更改

    $replacement = '$101';
    

    $replacement = '${1}01';
    
  3. See it

答案 1 :(得分:0)

用$模式中的~~替换()。