解决正则表达式\w和\d的疑惑

<?php

$string='April15,2003';

$pattern='/(\w+)(\d+),(\d+)/i';

$replacement='${1},${3}';

echo preg_replace($pattern,$replacement,$string);

?>

这个表达式的结果为April1,2003

原因:(\w+)能够完整匹配April15,但是因为在(\w+)后面有(\d+),为了能够匹配定义的规则,(\w+)会匹配April1,(\d+)会匹配5

可以换个表达式避免出现这种情况如:

$pattern='/([a-z])(\d+),(\d+)/i';

以上是 解决正则表达式\w和\d的疑惑 的全部内容, 来源链接: utcz.com/z/312825.html

回到顶部