插件窝 干货文章 如何用正则表达式高效替换.js和.css文件的扩展名?

如何用正则表达式高效替换.js和.css文件的扩展名?

替换 正则 css 表达式 234    来源:    2025-03-24

要高效地替换 .js.css 文件的扩展名,可以使用正则表达式来匹配这些文件的扩展名,并进行替换。以下是一个示例,展示了如何在不同的编程语言中使用正则表达式来实现这一目标。

1. 使用 JavaScript 进行替换

假设你有一个字符串,其中包含多个 .js.css 文件的路径,你可以使用 JavaScript 的 replace 方法结合正则表达式来替换扩展名。

const input = "script.js style.css main.js app.css";
const output = input.replace(/\.(js|css)\b/g, '.min.$1');
console.log(output);

解释: - \.(js|css)\b:这个正则表达式匹配 .js.css 扩展名。 - \. 匹配字面的点号。 - (js|css) 匹配 jscss。 - \b 确保匹配的是完整的单词边界,避免误匹配。 - .min.$1:替换字符串中的 $1 是捕获组的内容,即 jscss

输出:

script.min.js style.min.css main.min.js app.min.css

2. 使用 Python 进行替换

在 Python 中,你可以使用 re 模块来实现相同的功能。

import re

input_str = "script.js style.css main.js app.css"
output_str = re.sub(r'\.(js|css)\b', r'.min.\1', input_str)
print(output_str)

解释: - r'\.(js|css)\b':与 JavaScript 中的正则表达式相同。 - r'.min.\1'\1 是捕获组的内容,即 jscss

输出:

script.min.js style.min.css main.min.js app.min.css

3. 使用命令行工具(如 sed)进行替换

如果你在 Unix/Linux 环境下,可以使用 sed 命令来批量替换文件中的扩展名。

echo "script.js style.css main.js app.css" | sed -E 's/\.(js|css)\b/.min.\1/g'

解释: - -E:启用扩展正则表达式。 - s/\.(js|css)\b/.min.\1/g:与前面的正则表达式相同,\1 是捕获组的内容。

输出:

script.min.js style.min.css main.min.js app.min.css

4. 使用 VSCode 进行批量替换

如果你在 VSCode 中编辑文件,可以使用正则表达式进行批量替换。

  1. 打开替换功能(Ctrl+HCmd+H)。
  2. 启用正则表达式(点击 .* 按钮)。
  3. 在查找框中输入 \.(js|css)\b
  4. 在替换框中输入 .min.$1
  5. 点击“全部替换”。

总结

无论你使用哪种编程语言或工具,正则表达式 \.(js|css)\b 都可以高效地匹配 .js.css 文件的扩展名,并通过替换字符串 .min.$1 来添加 .min 前缀。这种方法适用于各种场景,包括字符串处理、文件批量重命名等。