解决正则表达式w和d的疑惑
程序员文章站
2022-05-19 11:25:42
<?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的疑惑全部内容,感谢大家对的支持。
推荐阅读