JS替换文件中的部分版本号
JS Replacing part of a version number within a file
我需要通过 JS 替换文件中的版本号,但我无法仅针对我需要的特定部分。我已经将文件的内容读入一个变量,并将用修改后的内容覆盖整个文件。该文件看起来像这样(标准 wordpress style.css):
/******************************************************************
Theme Name: Starter Theme
Theme URI:
Description: Custom Wordpress starter theme
Author:
Author URI:
Version: 1.0.0
Tags: fluid-layout, responsive-layout, translation-ready
License: WTFPL
License URI: http://sam.zoy.org/wtfpl/
------------------------------------------------------------------*/
.sticky {} /* DO NOT EDIT THIS */
.gallery-caption {} /* THESE ARE USELESS */
.bypostauthor {} /* THEY ARE ONLY TO KEEP THEME CHECK HAPPY */
有问题的部分是这个Version: 1.0.0
有一些细微差别似乎使这变得困难。 我只需要更改第三个数字(0),因为前两个(1.0)保留用于手动编辑,需要保持原样(所以我不能只替换整个字符串或行 )。我一直试图通过子字符串 and/or 正则表达式只提取最后一个数字,但似乎无法弄清楚如何正确地做到这一点(因为它周围的内容不是静态的,加上版本字符串以新队)。任何帮助将不胜感激。
根据 browser/nodejs 使用 readline / for 循环遍历每一行并查找字符串版本,相应地更改数字。
let newVersion = 3;
content = content.replace(/^Version: \d+\.\d+\.\d+$/mg, function(match, index) {
return match.replace(/\.\d+$/, '.' + newVersion);
});
我需要通过 JS 替换文件中的版本号,但我无法仅针对我需要的特定部分。我已经将文件的内容读入一个变量,并将用修改后的内容覆盖整个文件。该文件看起来像这样(标准 wordpress style.css):
/******************************************************************
Theme Name: Starter Theme
Theme URI:
Description: Custom Wordpress starter theme
Author:
Author URI:
Version: 1.0.0
Tags: fluid-layout, responsive-layout, translation-ready
License: WTFPL
License URI: http://sam.zoy.org/wtfpl/
------------------------------------------------------------------*/
.sticky {} /* DO NOT EDIT THIS */
.gallery-caption {} /* THESE ARE USELESS */
.bypostauthor {} /* THEY ARE ONLY TO KEEP THEME CHECK HAPPY */
有问题的部分是这个Version: 1.0.0
有一些细微差别似乎使这变得困难。 我只需要更改第三个数字(0),因为前两个(1.0)保留用于手动编辑,需要保持原样(所以我不能只替换整个字符串或行 )。我一直试图通过子字符串 and/or 正则表达式只提取最后一个数字,但似乎无法弄清楚如何正确地做到这一点(因为它周围的内容不是静态的,加上版本字符串以新队)。任何帮助将不胜感激。
根据 browser/nodejs 使用 readline / for 循环遍历每一行并查找字符串版本,相应地更改数字。
let newVersion = 3;
content = content.replace(/^Version: \d+\.\d+\.\d+$/mg, function(match, index) {
return match.replace(/\.\d+$/, '.' + newVersion);
});