recherche

Maison  >  Questions et réponses  >  le corps du texte

À propos de la fusion de deux expressions régulières en javascript

Lorsque vous utilisez Karma pour les tests de couverture de code, supprimez 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)

Plus tard, j'ai ajouté un dossier de style, qui contient des fichiers scss, et je souhaite également supprimer ce dossier

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

Les deux expressions régulières seules semblent correctes, mais utiliser | ensemble n'obtient pas l'effet escompté. Il n'y a vraiment pas d'autre moyen, aidez-moi s'il vous plaît

.
世界只因有你世界只因有你2732 Il y a quelques jours764

répondre à tous(2)je répondrai

  • 代言

    代言2017-06-12 09:30:45

    Supprimez les espaces supplémentaires au milieu et mettez | entre parenthèses des deux côtés.

    répondre
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:30:45

    Entourez simplement le corps de l'expression régulière avec "[]"
    Par exemple :

    console.log(/^[\.\/(?!main(\.js)?$)|^\.\/(?!style.*)]/.test(s))

    répondre
    0
  • Annulerrépondre