【问题标题】:php regular expression find and replacephp正则表达式查找和替换
【发布时间】:2011-06-16 16:38:17
【问题描述】:
$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]: Unknown modifier '('

【问题讨论】:

    标签: php regex preg-replace


    【解决方案1】:

    两个变化:

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

      $pattern = '/(\d{6})(\d{2})/';
      
    2. $101 指的是组号101。您的意思是将01 附加到组号1 所以更改

      $replacement = '$101';
      

      $replacement = '${1}01';
      

    See it

    【讨论】:

      【解决方案2】:

      将 $pattern 中的 () 替换为 ~~。

      【讨论】:

      • 或者实际上,任何其他有效的正则表达式分隔符。
      猜你喜欢
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 2017-01-28
      • 2015-01-11
      • 2012-12-02
      相关资源
      最近更新 更多