我目前有以下正则表达式来匹配日期:
([012]?\d)[\/.-]([0123]?\d)[\/.-]([012]\d{3})\b
这将匹配,例如12/24/2011
。我如何制作正则表达式,以便它与项目12 24 2011
?
答案 0 :(得分:4)
在字符类中添加空格字符:
[\/. -]
^
答案 1 :(得分:2)
您的问题已经得到解答,但我发现您的正则表达式存在其他一些问题。
为什么只在最后才有字边界?你也应该在开始时使用它。
您的正则表达式也会匹配“1.3 / 2012”之类的内容。您可以使用反向引用轻松改善这一点。
您是否需要所有捕获组?
所以我的建议是这个
\b([012]?\d)([\/. -])([0123]?\d)\2([012]\d{3})\b
^^^^^^^^^ ^^
store the first match
occurence in group 2
group 2
答案 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