Powershell通配符/正则表达式替换

前端之家收集整理的这篇文章主要介绍了Powershell通配符/正则表达式替换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试编写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

猜你在找的正则表达式相关文章