1

我想用一个更新的版本号替换一个版本号(即从 SVN 获取它,它工作正常)。出于测试目的,我尝试用简单的东西替换我发现的东西,但即使这样也不起作用。

这个正则表达式看起来不错(例如在https://regex101.com/中测试过)并且正确匹配我的版本号。

正则表达式:

([1-9][0-9]|[0-9])\.([1-9][0-9]|[0-9])\.([1-9][0-9][0-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9]|[0-9])

要匹配的文本(不匹配的):

标题="我的标题 1.0.0"

根据https://regex101.com/这应该有效。但是 Visual Build 找不到任何匹配项,也没有进行替换。

我可以确认文件访问正常,因为 Visual Build 将文本“替换时出错”添加到指定文件。

在此处输入图像描述

我正在使用 Visual Build Professional v10。

4

1 回答 1

1

我不确定你现有的正则表达式有什么问题,但是当我不得不做类似的替换时,我试图制造一个有点不同的替换策略——基本上是为了让正则表达式尽可能简单。你可以尝试这样的事情:

要查找的文本或正则表达式:

Title=.*

例如,只需匹配文件的正确行。不要担心现有的版本号值。

替换匹配的文本:

Title="MyTitle %v1%.%v2%.%v3%"

我假设您有三个宏v1, v2,v3用于您的版本号部分。如果你有一个应用程序标题,你显然也可以在那里插入。

于 2021-06-02T11:43:35.290 回答