Regex 正则表达式以匹配以下日期格式
我有一个正则表达式来匹配日期格式Regex 正则表达式以匹配以下日期格式,regex,Regex,我有一个正则表达式来匹配日期格式2015年9月23日或2015年9月23日或2015年9月23日 [a-zA-Z]{3}[. ]\d{2}'\d{2} 我能够匹配2015年9月23日和2015年9月23日,但不能匹配2015年9月23日 [a-zA-Z]{3}[. ]\d{2}'\d{2} 如何编写正则表达式以匹配空格和无空格?您可以使用以下正则表达式: [A-Za-z]{3}[\.\s]?\d{1,2}\'\d{2} 我建议匹配一个点(可选),然后使用*量词,而不是应用于空格的?: [a
2015年9月23日
或2015年9月23日
或2015年9月23日
[a-zA-Z]{3}[. ]\d{2}'\d{2}
我能够匹配2015年9月23日
和2015年9月23日
,但不能匹配2015年9月23日
[a-zA-Z]{3}[. ]\d{2}'\d{2}
如何编写正则表达式以匹配空格和无空格?您可以使用以下正则表达式:
[A-Za-z]{3}[\.\s]?\d{1,2}\'\d{2}
我建议匹配一个点(可选),然后使用*
量词,而不是应用于空格的?
:
[a-zA-Z]{3}\.?[ ]*\d{2}'\d{2}
^^^^^^^
这个正则表达式还将处理类似2015年9月23日的格式(在月和日之间有一个点和一个空格)
正则表达式解释:
-3个ASCII字母[a-zA-Z]{3}
-1或0点\.?
-如果您只需要匹配水平空格,则建议使用零个或多个规则空格([]*
,或\h
,或\p{Zs}
,具体取决于正则表达式的风格)[[:blank:]]
-2位+\d{2}'\d{2}
+2位'
有关
[.]
,请参见使用?
。回答:[a-zA-Z]{3}[.]?\d{2}'\d{2}
谢谢,工作正常@字符类中的TusharA点已经匹配了一个文本
符号,无需对其进行转义。此外,OP可能不希望匹配任何空格(\s
也匹配换行符)。您在演示中使用了*
(不正确,因为它允许Sep..23'15
有效),但使用了?
(正确)。。。“为什么?”路易斯科洛拉多:我自己也很好奇为什么会发生这种事。我考虑了你的评论,重新考虑了我的答案,以便更好地表达我的观点。:)现在我对你的答案投了赞成票,尽管它允许同时使用这两种方法,如Sep,23'15
(点后有几个空格)最好是(\.\124;[]*)
,它允许一个点或一系列0
或更多空格,但不能同时使用这两种方法。