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

如何用JS替换WordPress style.css中版本号的第三位数字?

搞定WordPress style.css版本号精准替换

嘿,我懂你为啥头疼——WordPress的style.css里版本号那行周围可能夹杂着各种注释、空格,换行符也容易搞砸匹配逻辑。之前用substring或者简单正则没成功很正常,毕竟周边内容不固定嘛。别慌,我给你整个精准的解决方案,既能准确定位到Version行,又能稳稳保留前两位版本号,只修改第三位补丁号。

核心思路:精准正则匹配

我们需要一个能锁定整行Version: x.x.x的正则,同时把前两位版本号(比如1.0)单独捕获出来,这样就能只替换第三位数字。这里的正则表达式是关键:

/^(Version:\s*\d+\.\d+)\.\d+$/gm

给你拆解下每个部分的作用:

  • ^:匹配行的开头,确保我们找的是整行以Version:开头的内容,不会误匹配文本中间的类似字符串
  • (Version:\s*\d+\.\d+):这是一个捕获组,用来保留我们不想修改的部分——Version:、任意数量的空格(包括0个),以及前两位版本号(比如1.0、2.5)
  • \.\d+:匹配第三位版本号的点和数字(比如.0、.9)
  • $:匹配行的结尾,确保我们匹配的是完整的版本号行
  • gm:全局多行模式,让正则能处理整个文本里的所有行(虽然一般style.css里只有一个Version行,但加上更保险)

JS代码实操示例

假设你已经把style.css的内容读取到了fileContent变量里,现在要把第三位版本号改成2,代码可以这么写:

// 假设这是读取到的style.css内容
const fileContent = `/*
Theme Name: My Cool Theme
Version: 1.0.0
Author: Me
Description: A WordPress theme I built
*/

/* Some other CSS comments */
body {
    padding: 0;
}`;

// 你想要设置的新补丁版本号(第三位)
const newPatchNumber = 2;

// 执行替换
const updatedContent = fileContent.replace(
    /^(Version:\s*\d+\.\d+)\.\d+$/gm,
    `$1.${newPatchNumber}`
);

// 现在updatedContent就是修改后的内容,直接覆盖写入文件即可
console.log(updatedContent);

效果验证

运行这段代码后,原来的Version: 1.0.0会变成Version: 1.0.2;如果原来的版本是Version: 2.3.5,会变成Version: 2.3.2——不管版本号前后有多少空格,或者周围有多少注释内容,都能精准匹配修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 11:23:11