- <?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 的疑惑全部内容, 感谢大家对脚本之家的支持.
来源: https://www.jb51.net/article/154754.htm