我正在嘗試編寫PowerShell腳本來將我的.nuspec
文件(nuget depdency)更新爲最新的構建版本。雖然我遇到了通配符問題。Powershell通配符/正則表達式替換
所以我想替換該行
<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" />
如何修改我的正則表達式來確保它只替換版本號組件?
的字符串版本。這一點,如果我在第二個參數中使用雙引號,反斜槓似乎不會逃脫它們。但是,如果我使用單引號,它會寫入「$ Version」而不是「xxxx」 – Chris
@Chris嘗試轉義'$'來測試 –
我使用了反引號''''而不是'\「',它的工作原理 – Chris