我正在尝试使用当前在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”
我哪里错了?
答案 0 :(得分:3)
尝试
"1:00 am".match(/(1[012]|[1-9]):[0-5][0-9]\s?(am|pm)/i)
忽略大小写标志i
应位于正则表达式的末尾