Regex 如何使用正则表达式从字符串中提取日期

Regex 如何使用正则表达式从字符串中提取日期,regex,Regex,“高级Abc于2014年1月28日凌晨3:01:30发布,参考402412” 我是新来的regexp,我需要使用regexp从上面的字符串中找出日期(即2014年1月28日) 有人能帮我吗。请推荐任何学习正则表达式的好网站。\d{1,2}/\d{1,2}/\d{4}将捕获该字符串中的日期 或者为了更精确(假设日期在本世纪),你可以尝试以下方法: [1]?\d/[123]?\d/20\d{2} 说明: [1]?将匹配数字1的零次或一次出现(如果月份是10、11或12,则可能是月号的开头) \d/将

“高级Abc于2014年1月28日凌晨3:01:30发布,参考402412”

我是新来的regexp,我需要使用regexp从上面的字符串中找出日期(即2014年1月28日)


有人能帮我吗。请推荐任何学习正则表达式的好网站。

\d{1,2}/\d{1,2}/\d{4}
将捕获该字符串中的日期

或者为了更精确(假设日期在本世纪),你可以尝试以下方法:

[1]?\d/[123]?\d/20\d{2}

说明

[1]?
将匹配数字1的零次或一次出现(如果月份是10、11或12,则可能是月号的开头)

\d/
将匹配后跟正斜杠的单个数字

[123]?
将匹配数字1、2或3的零次或一次出现(一个月中两位数的开始日期)

\d/
将匹配后跟正斜杠的单个数字

20
仅与数字2后跟0匹配


\d{2}
将匹配任意两位数字。

您使用的是什么风格的regexp?有很多信息,是一个很好的小游戏来尝试。我正在使用正则表达式对它进行分组,我的尝试是这样的:“([0-9]{1,2}/[0-9]{2}/[0-9]{4})”,“$1”。第二个正则表达式可以匹配像19/39这样的无效日期/2014@m0nk3y对。第二个答案的意思是更接近。一个真正准确的答案需要考虑到每个月和闰年的不同天数,但这种答案可能超出了OP基于他们的例子的更直接的需求。