我有一个简单的程序,可以将第三个数字更改为如下所示的程序集版本文件
static void Main()
{
string file = "AssemblyInfo.cs";
if (File.Exists(file))
File.WriteAllText(file,
Regex.Replace(
File.ReadAllText(file),
@"(?<=\[assembly: AssemblyFileVersion\(""[0-9]*.[0-9]*.)[0-9]*(?=.[0-9]*""\)\])",
m => (Convert.ToInt16(m.Value) + 1).ToString()
)
);
}
}
我想做的是改为更改该版本的第4个数字。 例如,我想通过调用c#app将1.3.4.9更改为1.3.4.10。
问题是我无法获取正则表达式来进行选择和更新。我尝试使用这种方法是有原因的,所以我想知道如何更新reg。使用c#代码本身的ex或其他方法,而不是对其他方法提出建议。谢谢。
答案 0 :(得分:0)
您可以使用此正则表达式:
@"(?<=\[assembly: AssemblyFileVersion\(""[0-9]*\.[0-9]*\.[0-9]*\.)[0-9]*(?=""\)\])"
基本上,它与您当前的正则表达式相同,只是它更改为与第4个数字匹配。它一直在寻找前三个数字,然后匹配第四个数字,并期待“ ")]
”。
您现在应该可以用新号码代替。
顺便说一句:您可以将'[0-9]'
替换为'\d'
,如果您更喜欢的话。