我一直在尝试在File Content Replacer构建功能中找出TeamCity使用的REGEX,并了解它在我的GlobalAssemblyInfo中从AssemblyVersion字符串中获取构建号的大部分工作。但是,替换字符串让我有些误解。
多行正则表达式模式是:
(^\s*\[\s*assembly\s*:\s*((System\s*\.)?\s*Reflection\s*\.)?\s*AssemblyVersion(Attribute)?\s*\(\s*@?\")(([0-9\*])+\.?)+(\"\s*\)\s*\])
替换字符串是:
$1\%build.number%$7
这里有一个完整的例子: RegexStorm Tester
基本上,我得到的是一个组,“4次捕获”(链接上看到5美元),我试图单独访问捕获,以便我的替换字符串更像:
$1$5[0].$5[1].$5[2]\%build.number%$7
意味着生成的AssemblyVersion然后变为1.0.0。%build.number%。
有人知道这是否可行?或者我是否必须使用不同的模式才能获得这种级别的粒度?