课程
/后端开发
/PHP
/PHP进阶篇
$p = '/[0]\d{2}\-\d{8}/'; 我给自己加了点难度,匹配的是电话号码,但是有个问题,那个0不家方括号就不行,是啥情况?
2017-02-20
源自:PHP进阶篇 3-3
正在回答
你可以这样写,$p='\(?0\d{2}[) -]?\d{8}';或者$p=/^0\d{2}-\d{8}$/i;形式不固定;
基于你的问题:$p = '/[0]\d{2}\-\d{8}/';为什么不加[]就不行呢,因为你也没有加^$;为什么不加^$就不行呢?不是不行,例如:如果不使用^和$的话,对于\d{5,12}而言,使用这样的方法就只能保证字符串里包含5到12连续位数字,而不是整个字符串就是5到12位数字;所以你的问题和此例相似。解答完毕。
万帅 提问者
举报
轻松学习PHP中级课程,进行全面了解,用PHP快速开发网站程序
3 回答方括号是什么意思?
3 回答方括号内/- 是什么意思
2 回答$p = '/(\w+\s\w+)/'; 为什么不加括号就是错的?
2 回答if( isset($arr[0]) ) {print_r($arr[0]);} 直接不就行了
2 回答加括号和不加括号的匹配结果为什么会不一样