JS - 12小时时间匹配的正则表达式

时间:2013-07-17 13:37:09

标签: javascript regex

我正在尝试使用当前在java应用程序中使用的正则表达式,并将其与javascript一起使用。

(1[012]|[1-9]):[0-5][0-9](\\s)?(?i)(am|pm)

然而,我遇到了问题。我最初收到SyntaxError: invalid quantifier错误。所以我逃脱了?并最终以

结束
(1[012]|[1-9]):[0-5][0-9](\s)?(\?i)(am|pm)

但是,当我运行以下测试时,它没有正确匹配:

"1:00 am".match(/(1[012]|[1-9]):[0-5][0-9](\s)?(\?i)(am|pm)/)

此正则表达式应匹配“凌晨1:00”,“凌晨1:00”,“凌晨1:00”

我哪里错了?

1 个答案:

答案 0 :(得分:3)

尝试

"1:00 am".match(/(1[012]|[1-9]):[0-5][0-9]\s?(am|pm)/i)

忽略大小写标志i应位于正则表达式的末尾