關於javascript中兩個正規表示式合併
世界只因有你
世界只因有你 2017-06-12 09:28:45
0
2
774

在使用karma作代码覆盖率测试时,去除main.js

// require all src files except main.js for coverage.
// you can also change this to match only the subset of files that
// you want coverage for.
const srcContext = require.context('../../src', true, /^\.\/(?!main(\.js)?$)/)
srcContext.keys().forEach(srcContext)

后来加入了一个style文件夹,里面都是scss文件,也想把这个文件夹也去除

ss = ["./main.js","./style","./maaa.js","./style/sss.scss"]

ss.forEach(function(s){
console.log(s)
console.log(/^\.\/(?!main(\.js)?$)/.test(s))
console.log(/^\.\/(?!style.*)/.test(s))
console.log(/^\.\/(?!main(\.js)?$) | ^\.\/(?!style.*)/.test(s))
})
./main.js
false
true
false
./style
true
false
false
./maaa.js
true
true
false
./style/sss.scss
true
false
false

单独的两个正则看上去都是对的,但是用|连在一起没有达到預想的效果,实在没有办法了,请大家帮帮我吧

世界只因有你
世界只因有你

全部回覆(2)
代言

去掉中間多餘的空格,並且把|兩邊都用括號括起來。

我想大声告诉你

把正規表示式主體用 "[]"括起來就行
例如:

console.log(/^[\.\/(?!main(\.js)?$)|^\.\/(?!style.*)]/.test(s))
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板