我正在尝试编写Power
Shell脚本来将我的.nuspec文件(nuget depdency)更新为最新的构建版本.我遇到了通配符问题.
所以我想替换这一行的版本号
<dependency id="MyCompany.Common" version="1.0.0.0" />
到新版本号,即版本2.2.2.2
<dependency id="MyCompany.Common" version="2.2.2.2" />
我目前的地方法看起来像这样.注意我需要一个通配符,因为我需要替换的解决方案中有多个nuget包,都遵循MyCompany.PackageName的格式
$filecontent -replace 'id="MyCompany.*" version="*"',"$Version" | Out-File $file
但实际上这最终会产生
<dependency 2.2.2.21.0.0.0" />
如何修改我的正则表达式以确保它仅替换版本号组件?
解决方法
用…来代替
$filecontent -replace 'id="MyCompany(.*?)" version=".*?"',"id=`"MyCompany`$1`" version=`"$Version`"" | Out-File $file