Регулярное выражение для нескольких имен папок в URL и флаги исключенных расширений - PullRequest
1 голос
/ 31 октября 2019

Я обрабатываю несколько js-файлов для сборки пакетов через веб-пакет. Однако мне нужно настроить таргетинг на несколько файлов js для обработки в нескольких папках, при этом я могу исключить файлы js с определенными флагами в имени файла.

У меня есть следующие файлы:

/styles/portal/version2/libraries/jquery.js
/styles/portal/version2/libraries/library.exclude.js
/styles/portal/version2/components/componenta.js
/styles/portal/version2/konstructs/konstructa.js
/styles/portal/version2/konstructs/konstructb.js
/styles/portal/version2/konstructs/konstructc.js
/styles/portal/version2/konstructs/konstructd.disabled.js
/styles/portal/version2/vendors/vendor.js
/styles/portal/version2/vendors/vendor.exclude.js

Идля этого нужно собрать только следующие файлы:

/styles/portal/version2/libraries/jquery.js

/styles/portal/version2/konstructs/konstructa.js
/styles/portal/version2/konstructs/konstructb.js
/styles/portal/version2/konstructs/konstructc.js

/styles/portal/version2/vendors/vendor.js

Таким образом, практически любой файл .js из определенных библиотек , konstructs , vendor папок, а затем ничего не включают с disabled.js или exclude.js

Ответы [ 2 ]

3 голосов
/ 31 октября 2019

Чтобы получить три каталога libraries, konstructs or vendors, которые содержат
non- disabled или exclude в частях имени файла *Файлы 1011 *.js будут такими:

/^.*?\/(?:libraries|konstructs|vendors)(?=\/)(?:[^\/.]*\/)*(?![^\/]*?\b(?:disabled|exclude)(?=\.)[^\/]*?\.js$)[^\/]*?\.js$/gm

https://regex101.com/r/rTUfeQ/1

Обратите внимание, используйте многострочный модификатор, если смотреть настроковые строки.
Если нет, то в этом нет необходимости.

1 голос
/ 31 октября 2019

Вы можете попробовать исключить параметр в правило-условие с этим шаблоном

/\.(exclude|disabled)\.js$/
  • \. - совпадения.
  • (exclude|disabled) - совпадение exclude или disabled слово
  • \.js - совпадения . followed by js
  • $ - конец строки
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...