【发布时间】:2014-01-19 07:36:08
【问题描述】:
我在下面找到了一个代码
<?php $string = 'April 15, 2003';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '${1}1,$3';
我只想知道为什么 ${1} 后面的这个 1 被声明,为什么值 3 在字符串符号的结尾之前被赋值?
【问题讨论】:
-
这是一个正则表达式令牌,
$3是第三个捕获组。 -
而
1只是1。 -
可能的意图是获取给定日期的第一个日期。应该是
$replacement = '${1} 1, $3';才能成为'April 1, 2003' -
$3可能是匹配组 #3,这里是 2003 年。 -
你没有明白。我也在谈论那个。如果写成
$11,那么代码怎么知道它是'$1'.'1'OR$11?