首页 > 文章列表 > 如何使用正则表达式替换 .js/.css 为 .min.js/.min.css 但排除 .min 文件?

如何使用正则表达式替换 .js/.css 为 .min.js/.min.css 但排除 .min 文件?

441 2025-03-10

如何使用正则表达式替换 .js/.css 为 .min.js/.min.css 但排除 .min 文件?

正则表达式:替换 .js/.css 为 .min.js/.min.css

我们寻求一个可匹配以 ".js" 或 ".css" 结尾的文件名,且确保未紧跟 ".min" 的正则表达式。

解决方案:

使用如下正则表达式:

/(?<!.min).(js|css)$/gm

其中:

  • (?<!.min):负向后顾断言,确保匹配项之前不包含 ".min"。
  • .:匹配字面句点。
  • js|css:匹配 ".js" 或 ".css"。
  • $:锚定至字符串末尾。
  • /gm:全局多行匹配选项。

然后,您可以使用以下代码来替换匹配的文本:

file.replace(/(?<!.min).(js|css)$/gm, ext => '.min' + ext)

示例:

给定以下文件名:

pjax.min.js
pjax1.js
pjax.css
pjax1.min.css

正则表达式将匹配:

pjax1.js
pjax.css

并且文件内容将替换为:

pjax1.min.js
pjax.min.css
来源:1729920726