这是我当前的正格:
/^(?!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$
-文件扩展名和行末端。