我正在使用webpack,它使用正则表达式将文件提供给加载器。我想从构建中排除测试文件,测试文件以.test.js
结尾。所以,我正在寻找一个匹配index.js
而不是index.test.js
的正则表达式。
我尝试使用
的负回顾断言/(?<!\.test)\.js$/
但它表示表达无效。
SyntaxError: Invalid regular expression: /(?<!\.test)\.js$/: Invalid group
示例文件名:
index.js // <-- should match
index.test.js // <-- should not match
component.js // <-- should match
component.test.js // <-- should not match
答案 0 :(得分:4)
你去了:
^(?!.*\.test\.js$).*\.js$
<小时/>
正如其他人所提到的,JavaScript使用的正则表达式引擎不支持所有功能。例如,不支持负面反对。
答案 1 :(得分:2)
答案 2 :(得分:1)
var re=/^(?!.*test\.js).*\.js$/;
console.log(re.test("index.test.js"));
console.log(re.test("test.js"));
console.log(re.test("someother.js"));
console.log(re.test("testt.js"));
&#13;