用于时间戳的正则表达式


regular expressions for timestamps

我正在尝试为时间戳创建一个正则表达式,可以像这样格式化

2011-12-31T23:00:00.000+01:00

我能想到的最接近的解决方案是:

/^('d{4})-('d'd)-('d'd)T:('d'd):('d'd).('d{3})+('d'd):('d'd)$/

但这似乎行不通。

我哪里错了,有什么建议吗?(我在php preg_match()中使用这个)

谢谢

它不起作用,因为您在正则表达式中有T:,但在时间戳中没有T:。而且你没有逃出+

实际上,在您的regex中的T:之间,放置('d'd):

/^('d{4})-('d'd)-('d'd)T('d'd):('d'd):('d'd)'.('d{3})'+('d'd):('d'd)$/
/^'d{4}'-'d{2}'-'d{2}T'd{2}':'d{2}':'d{2}'.'d{3}'+'d{2}':'d{2}$/