该消息可能包含格式为 dd.mm.yyyy 的日期。指定格式中,dd为1~31的整数,mm为1~12的整数,yyyy为1900~2012的整数(若有部分违反格式, 然后这个子字符串作为日期不被考虑)。查找当年的所有日期。
我得到以下正则表达式:
[1-31]\.[1-12]\.[1900-2012]
我不明白为什么无法识别与此格式匹配的日期。
我应该修理什么?这里出了什么问题?
该消息可能包含格式为 dd.mm.yyyy 的日期。指定格式中,dd为1~31的整数,mm为1~12的整数,yyyy为1900~2012的整数(若有部分违反格式, 然后这个子字符串作为日期不被考虑)。查找当年的所有日期。
我得到以下正则表达式:
[1-31]\.[1-12]\.[1900-2012]
我不明白为什么无法识别与此格式匹配的日期。
我应该修理什么?这里出了什么问题?
允许的字符列在方括号中,包括。数字,但不是数字。在您的情况下,表达式将是:
(0?[1-9]|[12]\d|3[01])\.(0?[1-9]|1[0-2])\.(19\d\d|20(0\d|1[0-2]))考虑到 Kirill Malyshev 和 Mike 的评论,事实证明更正了表达:
当然,结果不如 Kirill Malysheva 和 Mike 漂亮,结果很长,但我很高兴这个选项奏效了 :)
感谢您帮我修复它 :)
还需要理解记录,记录“0”是什么意思?:)
更短的符号
\d: