Luk*_*ley 6 c# regex visual-studio-2010
我们有一个超过25个项目的解决方案,每个项目都有它自己AssemblyInfo我试图增加所有的程序集编号,以增加我们下一个版本的一个主要版本.
我的正则表达式技能很小,但基本上我想找到:
<Assembly: AssemblyVersion("x.x.x.x")>
Run Code Online (Sandbox Code Playgroud)
凡x在正则表达式而言将是\d/一个数字.看这里我以为我可以使用:
{AssemblyVersion("[\d].[\d].[\d].[\d]")}
Run Code Online (Sandbox Code Playgroud)
哪个没用,它不喜欢开括号.我的问题基本上分为两个阶段:
这是源代码控制,所以我不想直接修改文件.
提前致谢.
注意:这是使用 Visual Studio 正则表达式查找和替换。
我不认为你可以在进行正则表达式替换时添加一个。但是,您可以替换为文字数字。例如,您可以使用正则表达式将第一个数字替换1为99:
AssemblyVersion("1.0.2121.0")-->AssemblyVersion("99.0.2121.0")
这是我用于 Visual Studio 搜索和替换的正则表达式:
Search Regex: AssemblyVersion[(]["]([0-9]+)([.][0-9]+[.][0-9]+[.][0-9]+)["][)]
Replace Regex: AssemblyVersion("99${2}")
Run Code Online (Sandbox Code Playgroud)
搜索正则表达式(.")通过将所有特殊字符括在方括号中来转义它们。然后它使用括号将版本号分成两组。第一组是第一组数字。第二组是最后三组数字。
例如,AssemblyVersion("1.0.2121.0")像这样分组(使用大括号进行分组):
AssemblyVersion("{1}{.0.2121.0}")。所以组 1 是1,组 2 是.0.2121.0。
替换正则表达式AssemblyVersion("99${2}")使用搜索正则表达式中的文字和组 2 来构建替换字符串。这些${2}方法使用组 2 中的文本。字符串的其余部分是文字。