JavaScript Regexp排除特定的文件扩展名和索引



这是我当前的正格:

/^(?!index).*js/gmi

这是将REGEXP应用于:

的列表
test/test.js
hey/test-bundle.js
test/test-heybundle.js
test/index.js
test/indop.js
lollipop/testindex.js
test/test.scss
test/test.css
lalilu/hey.yml
test.js

它应该做什么:

  • 仅匹配 *.js
  • 结尾的文件
  • 排除文件名index.js
  • 排除以" -bundle.js"结尾的文件
  • 仅匹配位于目录中的文件(例如/test/test.js,而不是test.js

我真的很感谢任何帮助,以使此Regexp像预期一样工作。

/^[a-z]+/(?!index.js$)[a-z]+(?!-bundle)(?:-[a-z]+)?.js$/gm

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

^[a-z]+/-匹配父目录(假设dir分隔符始终是 /)。

(?!index.js$)-如果父级的dir之后是 index.js和行末端。

使匹配失败。

[a-z]+(?!-bundle)-一个或多个字母未随后 -bundle

(?:-[a-z]+)?-连字符后,文件名的可选第二部分。如果您还包含超过2个连字符部分的文件,则将?更改为*

.js$-文件扩展名和行末端。

最新更新