我想匹配所有以“.htm”结尾的字符串,除非它以“foo.htm”结尾。我对正则表达式通常很体面,但负面的前瞻让我难倒。为什么这不起作用?

/(?!foo)\.htm$/i.test("/foo.htm");  // returns true. I want false.

我应该用什么代替?我想我需要一个“否定后视”表达式(如果 JavaScript 支持这样的东西,我知道它不支持)。

最佳答案

问题其实很简单。这将做到:
/^(?!.*foo\.htm$).*\.htm$/i

关于javascript - 负前瞻正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6851921/

10-16 21:10