javascript - URL 和排除扩展标志中多个文件夹名称的正则表达式
问题描述
我正在处理多个 js 文件以通过 webpack 构建捆绑包。但是,我需要定位多个 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
所以本质上是特定库、konstructs、供应商文件夹中的任何 .js 文件,然后不包含disabled.js或exclude.js的任何内容
解决方案
要获取在文件的文件名部分中libraries, konstructs or vendors
包含
non- disabled
nor的三个目录,请执行以下操作: exclude
.js
/^.*?\/(?:libraries|konstructs|vendors)(?=\/)(?:[^\/.]*\/)*(?![^\/]*?\b(?:disabled|exclude)(?=\.)[^\/]*?\.js$)[^\/]*?\.js$/gm
https://regex101.com/r/rTUfeQ/1
注意,如果查看多行字符串,请使用多行修饰符。
如果没有,则不需要它。
推荐阅读
- firebase - Firebase 的签名错误 getSignedUrl()
- sharedpreferences - 在共享首选项中设置的字符串的更改未发布到 onSharedPreferenceChanged
- react-native - React native ActivityIndicator 即使在卸载后仍然保持动画
- python-3.x - 如何安装和运行openpose?
- android - react-native-maps + react-native-firebase Android 应用程序在启动时崩溃
- eclipse - 使用 Eclipse 运行 OpenCV 程序
- javascript - 将模板字符串传递给不带括号的函数
- azure-container-service - Azure 容器实例无法连接到 Internet(出站 http GET 请求失败)
- fish - 鱼壳可以在 if 语句中执行通配符通配符吗?
- python - 如何使用 python 从外部文件中随机选择一个问题