JavaScript RegEx不以(.js | .jsx | .scss)结尾

时间:2019-02-02 11:58:27

标签: javascript regex string

我想实现一个不以(.js | .jsx | .scss)结尾的JavaScript RegEx,执行结果如下所示,但是RegEx之前没有运算符!

!/(.js|.jsx|.scss)$/

2 个答案:

答案 0 :(得分:4)

您需要对替换进行否定的查找,以拒绝以您在帖子中提到的扩展名结尾的字符串。试试这个正则表达式,

^(?!.*(?:\.jsx?|\.scss)$).*$

Demo

var arr = ['abc.js','xyz.jsx','ddd.scss','abc.jsa','xyz.jsxa','ddd.scssd'];

for (s of arr) {
console.log(s+' --> '+/^(?!.*(?:\.jsx?|\.scss)$).*$/.test(s));
}

答案 1 :(得分:0)

您可以使用

^(?!.*\.(?:jsx?|scss)$).*$
  • ^-字符串开头的锚点。
  • (?!.*\.(?:jsx?|scss)$).*-检查jsx, js and scss
  • 的条件
  • $-字符串结尾。

Demo