正则表达式:匹配以“AM”结尾的单词(不区分大小写)

时间:2016-05-04 10:55:30

标签: javascript regex

我需要将文字结尾与" AM"使用正则表达式。使用不区分大小写的输入,即

  • AM
  • am
  • 上午
  • AM

所有都应该是有效的方案。我正在尝试下面

myinput.match(/^\w*am\b$/)

但是它正在进行区分大小写的比较(即,对于AM,Am,aM不适用于上午)。

JSFiddle

1 个答案:

答案 0 :(得分:2)

您需要在最后添加大小写密集标记:

myinput.match(/^\w*am\b$/i)

修改:根据您的评论

07.15am的问题是正则表达式的第一部分。如果你想要严格,那么你可以尝试:

/^(\w+)(\.\w+)\s?(am)$/i

这将匹配07.15am07.15Am07.15 AM

如果你想要稍微宽松一点,你可以选择第二组。

/^(\w+)(\.\w+)?\s?(am)$/i

如果在字符串之前或之后有任何内容,这也不会起作用。我建议删除^ $边界。

/(\w+)(\.\w+)?\s?(am)/i

这应该涵盖大多数情况。