我有一个文本文件,想用PowerShell中的变量内容进行正则表达式/替换。
my.json
$version
version : "something"
"something"
的内容替换$version
这是我尝试过的。搜索和替换按预期工作,但结果是
version : "$version"
。(Get-Content my.json) -replace '(?<pre>"version"[\s]*:[\s]*)(?<V>"[^\"]*")', '$1"$version"' | Out-File my.json
最佳答案
为了能够在替换字符串中使用变量,您需要使用双引号替换字符串,这意味着您需要转义反向引用和嵌套的双引号:
(Get-Content my.json) -replace '...', "`$1`"$version`"" | ...
关于regex - 在替换中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38592117/