我目前有以下正则表达式来匹配日期:
([012]?\d)[\/.-]([0123]?\d)[\/.-]([012]\d{3})\b
例如,这将匹配12/24/2011
。我将如何制作正则表达式,使其也与项目之间的空格匹配,12 24 2011
?
我目前有以下正则表达式来匹配日期:
([012]?\d)[\/.-]([0123]?\d)[\/.-]([012]\d{3})\b
例如,这将匹配12/24/2011
。我将如何制作正则表达式,使其也与项目之间的空格匹配,12 24 2011
?
在字符类中添加空格字符:
[\/. -]
^
您的问题已经得到解答,但我发现您的正则表达式存在其他一些问题。
为什么只在末尾有边界这个词?您也应该在开始时使用它。
您的正则表达式也将匹配“1.3/2012”之类的内容。您可以通过使用反向引用轻松改进这一点。
您需要所有这些捕获组吗?
所以我的建议是这样
\b([012]?\d)([\/. -])([0123]?\d)\2([012]\d{3})\b
^^^^^^^^^ ^^
store the first match
occurence in group 2
group 2
用这个:
([012]?\d)[ \/.-]([0123]?\d)[ \/.-]([012]\d{3})\b
我认为您必须先添加空格。
([012]?\d)([\/.-]|\s)([0123]?\d)([\/.-]|\s)([012]\d{3})\b
([012]?\d)[\/.-\s]([0123]?\d)[\/.-\s]([012]\d{3})\b