1

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")]

何か案が?

4

1 に答える 1

1

引用符の内容だけが必要な場合は、次のような式でそれを取得できるはずです。

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

msbuild正規表現でポジティブルックアヘッド/ルックビハインドを使用できると思います。

ポジティブな先読みと後読み:

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

于 2012-12-28T17:59:00.240 に答える