当前位置:编程学习 > php >>

初学正则表达式,一个小问题。大侠们帮忙解决

刚学的PHP,学到正则了。一个问题百思不得其解

"/[0-9]{2,4}-[0-9]{1,2}-[0-9]{1,2}/"

这是个年月日的正则,为何年可以输入4位以上的数字,并且只取最后四位。前面代码和后面写的一样,为何后面的超过规范的两位就出错,而不是像年一样,取最后的。。。

追问:第一个2指的什么?
答案:'/(2[0-9]{3}|[0-9]{2})-(1[0-2]|[1-9])-([12]?[0-9]|3[01])/'

用这个试一下。

你原来的那个可以匹配:9999-99-99

你要加一个开始和结束啊,最前面加一个^,结尾加一个$

按你的思想应该这样

\b[0-9]{2,4}\b-\b[0-9]{1,2}\b-\b[0-9]{1,2}\b

不过可以输入无效的月日

上一个:1+……n数之和
下一个:webservice怎么实现2个程序的联结,并运行

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,