php正则表达式查找和替换

Bra*_*rad 1 php regex preg-replace

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

我希望它回应 20110301

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

它给了我以下警告:

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

cod*_*ict 5

两个变化:

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

    $pattern = '/(\d{6})(\d{2})/';
    
    Run Code Online (Sandbox Code Playgroud)
  2. $101是指组号101.您打算附加01到组号1以进行更改

    $replacement = '$101';
    
    Run Code Online (Sandbox Code Playgroud)

    $replacement = '${1}01';
    
    Run Code Online (Sandbox Code Playgroud)

看见