正则表达式,我写的判断月份日期的 MMDD这种格式的

02(?:0[1-9]|1[1-9]|2[1-8])|0[13578](?:0[1-9]|[12][1-9]|3[01])|0[469](?:0[1-9]|[12][1-... 02(?:0[1-9]|1[1-9]|2[1-8])
|0[13578](?:0[1-9]|[12][1-9]|3[01])
|0[469](?:0[1-9]|[12][1-9]|30)
|1[02](?:0[1-9]|[12][1-9]|3[01])
|11(?:0[1-9]|[12][1-9]|30)
我自己憋了半天写的,写的很复杂,但是逻辑是对了,不过我觉得如此复杂会不会性能有问题,不过这种优点他们说到是很易读o(∩_∩)o 哈哈,
请高手们给精简一下,小弟才开始系统的学习正则,大家多多指教。
展开
 我来答
老老岳
2011-04-14 · 超过33用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:87.9万
展开全部
这个东东没有什么好优化的,看来你对非捕获组挺有了解。

但是这个表达式有一个严重的错误就是不能匹配:0229这个形式,这个涉及到瑞年(100的倍数被400整除否则被4整除)的判断,如果要加上去复杂度会提高很多很多。

已经很不容易了,加油!
追问
0229  我没考虑,听说阳历2月没有29号?常识太缺乏了,我查查网上去。。
我最近看了半周多的正则,肤浅啊,兄弟过奖了,我在文档里看到有惰性匹配啥的 说是写不好的话 会很占资源 。还要跟您多多请教!
追答
说到惰性匹配还是和其它模式(占有模式、贪婪模式)比较下匹配原理才能知道性能上的问题。
给你一个url可以自己研究下。

参考资料: http://apps.hi.baidu.com/share/detail/19818110

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式