You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式匹配所有JS/CSS文件并排除config.js?

正则匹配问题:匹配JS/CSS文件但排除config.js

需求与现有尝试

  • 目标:从包含js、css、json、md等类型的文件列表中,匹配所有js和css文件,但排除config.js
  • 单独验证有效的正则:
    • 排除config.js的正则:/^(?!.*config).*$/
    • 匹配JS/CSS文件的正则:/\.(js|css)$/
  • 尝试的无效组合正则:/^(?!.*config)(?=\.(js|css)).*$/

问题分析

你尝试的组合正则失效的原因是:(?=\.(js|css))是正向预查,它要求字符串起始位置就匹配.js或.css,但实际文件名(比如app.js)开头是文件名主体,不是后缀,所以这个预查永远不成立,导致整体匹配失败。

正确的正则写法

写法一:精确排除config.js,匹配其他JS/CSS文件

/^(?!.*config\.js$).*\.(js|css)$/
  • 细节说明:
    • (?!.*config\.js$):负向预查,确保整个字符串不是config.js(也会排除路径中包含config.js的文件,比如src/config.js)
    • .*\.(js|css)$:匹配任意内容结尾是.js或.css的字符串

写法二:排除所有含config的JS/CSS文件(更简洁)

如果不需要精确排除config.js,而是要排除所有文件名包含config的JS/CSS文件(比如config.css、app.config.js),可以用:

/^(?!.*config).*\.(js|css)$/

验证示例

  • 匹配成功:app.js、style.css、utils.js
  • 匹配失败:config.js、data.json、readme.md、config.css(写法二会排除)

内容的提问来源于stack exchange,提问作者tristan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 16:18:19