如何使用正则表达式匹配不包含某些子字符串的字符串?

时间:2015-06-04 19:31:26

标签: javascript regex

我希望匹配尚未缩小的JavaScript库。我已经获得了数据和我当前的正则表达式http://www.regexr.com/3b569,但您可以看到我匹配了我不想匹配的最后一个库(angularytics.min.js)。

我不太确定如何在我的比赛中否定'.min.js'的可选可能性。

3 个答案:

答案 0 :(得分:1)

您可以采取的其中一种方法:

/(?!.*\.min\.js$)bower_components.*\.js/gm

请参阅DEMO

答案 1 :(得分:1)

你可以进一步缩小范围,这样不仅min失败了 正则表达式 编辑 - 添加延迟量词,以便在超过1时查找第一个.js。 您还可以添加.js

,使(?=[^\S\r\n]*(?:\r?\n|$))符合最终/接近结尾的资格

bower_components(?:(?!min\.js).)*?\.js

 bower_components
 (?:
      (?! min\.js )
      . 
 )*?
 \.js

答案 2 :(得分:1)

您可以在此处实施否定前瞻:

bower_components(?!.*min\.js).*\.js