从与正则表达式的AssemblyInfo文件中读取AssemblyInformationalVers

2019-10-17 12:46发布

我试图读取从的MSBuild的AssemblyInfo文件AssemblyInformationalVersion但到目前为止,我没有。 下面一个让我的数字,但我需要引号内整个输入:

<PropertyGroup>
  <Pattern>\[assembly: AssemblyInformationalVersion\(.(\d+)\.(\d+)\.(\d+)</Pattern>
  <In>@(ItemsFromFile)</In>
  <Out>$([System.Text.RegularExpressions.Regex]::Match($(In), $(Pattern)))</Out>
</PropertyGroup>

<Message Text="Output : $(Out.Remove(0, 41))"/>

例如,这是目标线:

[assembly: AssemblyInformationalVersion("0.3.0-pre01")]

任何想法?

Answer 1:

如果你只需要加引号的内容,你应该能够用这样一种表达抓住它:

(?<=\[assembly: AssemblyInformationalVersion\(").*(?="\)\])

我相信你可以使用正向前查找/回顾后的正则表达式的MSBuild。

正预测先行和回顾后respectivly:

Match this(?=Where this is present ) (?<=Where this is present )Match this



文章来源: Reading AssemblyInformationalVersion value from AssemblyInfo file with RegEx