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

 更新时间:2019-04-17 22:00:18   作者:佚名   我要评论(0)



<&#63;php
$string='April15,2003';
$pattern='/(\w+)(\d+),(\d+)/i';
$replacement='${1},${3}';
echo preg_replace($pattern,$replacement,$string);
&#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的疑惑全部内容,感谢大家对脚本之家的支持。

您可能感兴趣的文章:

  • 正则表达式 \w \d 的意义
  • PowerShell中使用正则和ValidateSet验证参数合法性
  • Shell正则表达式之grep、sed、awk实操笔记
  • DW 查找某字符串前的所有字符的正则表达式
  • php password密码验证正则表达式(8位长度限制)

相关文章

最新评论