Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript URL中多个文件夹名称和排除的扩展标志的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript URL中多个文件夹名称和排除的扩展标志的正则表达式

Javascript URL中多个文件夹名称和排除的扩展标志的正则表达式,javascript,regex,Javascript,Regex,我正在处理多个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/version

我正在处理多个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文件都不包含任何禁用了的.js排除.js的文件。您可以使用此模式尝试使用排除选项

/\.(exclude|disabled)\.js$/
  • \。
    -匹配
  • (排除|禁用)
    -匹配
    排除
    禁用
    word
  • \.js
    -匹配
    。然后是js
  • $
    -字符串结尾
您可以尝试使用此模式排除选项

/\.(exclude|disabled)\.js$/
  • \。
    -匹配
  • (排除|禁用)
    -匹配
    排除
    禁用
    word
  • \.js
    -匹配
    。然后是js
  • $
    -字符串结尾

获取包含
.js
文件的文件名部分中,未禁用
排除
,如下所示:

/^.*.\/(?:库^结构^供应商)(?=\/)(?:[^\/.]*\/)*(?![^\/.*?\b(?:禁用^;排除)(?=)[^\/]*?\.js$)[^\/]*?\.js$/gm

注意,如果查看多行字符串,请使用多行修改器。

如果没有,就没有必要了

获取包含
.js
文件的文件名部分中,未禁用
排除
,如下所示:

/^.*.\/(?:库^结构^供应商)(?=\/)(?:[^\/.]*\/)*(?![^\/.*?\b(?:禁用^;排除)(?=)[^\/]*?\.js$)[^\/]*?\.js$/gm

注意,如果查看多行字符串,请使用多行修改器。

如果没有,就没有必要了

一个正则表达式要做到这一点会非常混乱(更不用说维护了)。您的捆绑引擎是如何工作的?是Javascript吗?如果是这样,你最好写一些代码,实现一个类似字典的结构来过滤文件。正则表达式是包含还是排除?因为如果使用排除,它可能会遗漏一些内容。只使用包含还是不使用排除更好?@EricWu我写这篇文章是为了网页条目的全局匹配模式point@x15抓取的文件用于包含,因此仅包括librarires/konstucts/vendors中的文件,如果没有禁用的.js或exclude.js文件扩展名,单个正则表达式执行此操作将非常混乱(更不用说维护了)。您的捆绑引擎是如何工作的?是Javascript吗?如果是这样,你最好写一些代码,实现一个类似字典的结构来过滤文件。正则表达式是包含还是排除?因为如果使用排除,它可能会遗漏一些内容。只使用包含还是不使用排除更好?@EricWu我写这篇文章是为了网页条目的全局匹配模式point@x15抓取的文件用于包含,因此仅包括librarires/konstucts/vendors中的文件,如果没有disabled.js或exclude.js文件扩展名,那么为了解决disabled.js和exclude.js类型的排除问题,我该如何解决konstructs、库、供应商文件夹要求?您在regex代码中拼写错误了
disabled
。不能编辑:少于6个字符:man FoePalime:@ SthundCAN,您可以考虑那些在测试或包含,例如。code>/(konstructs | vendor)\.js$/
这样就解决了禁用的.js和exclude.js类型的排除问题,我该如何解决konstructs、库、vendors文件夹的要求?您在regex代码中拼写错误了
disabled
。不能编辑:少于6个字符:man FoePalime:@ SthundCAN,您可以考虑那些在测试或包含,例如。代码>/(konstructs供应商)\.js$/