正则表达式将日期与空格匹配

时间:2012-04-19 06:46:13

标签: regex

我目前有以下正则表达式来匹配日期:

([012]?\d)[\/.-]([0123]?\d)[\/.-]([012]\d{3})\b

这将匹配,例如12/24/2011。我如何制作正则表达式,以便它与项目12 24 2011

之间的空格匹配

5 个答案:

答案 0 :(得分:4)

在字符类中添加空格字符:

[\/. -]
    ^

答案 1 :(得分:2)

您的问题已经得到解答,但我发现您的正则表达式存在其他一些问题。

  1. 为什么只在最后才有字边界?你也应该在开始时使用它。

  2. 您的正则表达式也会匹配“1.3 / 2012”之类的内容。您可以使用反向引用轻松改善这一点。

  3. 您是否需要所有捕获组?

  4. 所以我的建议是这个

    \b([012]?\d)([\/. -])([0123]?\d)\2([012]\d{3})\b
                ^^^^^^^^^           ^^
             store the first       match
             occurence in          group 2
             group 2
    

    here on Regexr

答案 2 :(得分:1)

使用此:

([012]?\d)[ \/.-]([0123]?\d)[ \/.-]([012]\d{3})\b

我认为你必须先添加空格。

答案 3 :(得分:0)

([012]?\d)([\/.-]|\s)([0123]?\d)([\/.-]|\s)([012]\d{3})\b

答案 4 :(得分:0)

([012]?\d)[\/.-\s]([0123]?\d)[\/.-\s]([012]\d{3})\b