当前位置:  开发笔记 > 编程语言 > 正文

RegEx匹配M/YYYY,MM/YYYY,M/YY或MM/YY格式但不匹配MM/DD/YYYY

如何解决《RegEx匹配M/YYYY,MM/YYYY,M/YY或MM/YY格式但不匹配MM/DD/YYYY》经验,为你挑选了1个好方法。

好吧,我已经用这个打了很长时间.我有一个正则表达式

^(1[0-2]|0[1-9]|\d)\/(20\d{2}|19\d{2}|0(?!0)\d|[1-9]\d)

这将匹配8/15,08/15,8/2015,08/2015所有我需要的.到现在为止还挺好.但我不需要的是它与08/01/2015匹配,但我在08/01获得部分比赛.我怎么忽略08/01/2015?



1> Ilya Kogan..:

DateTime.ParseExact是一种解决问题的可读性和可维护性更强的方法:https://msdn.microsoft.com/en-us/library/332de853(v = vs.110).aspx

如果我是你的同事,我会讨厌阅读这个丑陋的正则表达式,因为相同的概念可以用指定的库类如此优雅地表达.

实际上更好的想法是TryParseExact:https://msdn.microsoft.com/en-us/library/h9b85w22(v = vs.110).aspx

正如您所看到的,有一种重载可以接受多种格式,这正是您的情况,您可以通过["M/yyyy", "MM/yyyy, "M/yy", "MM/yy"].

以下是与您的案例非常类似的代码示例:https://stackoverflow.com/a/18247797/326370

推荐阅读
Life一切安好
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有