$p = '/[0]\d{2}\-\d{8}/'; 我给自己加了点难度,匹配的是电话号码,但是有个问题,那个0不家方括号就不行,是啥情况?
你可以这样写,$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位数字;所以你的问题和此例相似。解答完毕。