1
2
3
4
5
6
|
<?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的疑惑全部内容,感谢大家对服务器之家的支持。