gpt4 book ai didi

powershell - 将包含美元符号的字符串传递给 -Replace 变量

转载 作者:行者123 更新时间:2023-12-04 13:55:37 25 4
gpt4 key购买 nike

我正在尝试使用 powershell 替换 .config 文件中的句子。

${c:Web.config} = ${c:Web.config} -replace

' $BASE_PATH $\Test\bin`$Test_TYPE`$\WebTest.dll' , 'c:\program Files\example\webtest.dll'

每次我尝试运行上面的代码时,我都会得到

"Invalid regular expression pattern: $BASE_PATH$\Test\bin\$Test_TYPE$\WebTest.dll" at c:\tests\runtesting.ps1 -replace <<<< $BASE_PATH$\Test\bin\$Test_TYPE$\WebTest.dll



如果我不使用反引号,美元符号将消失,并且会出现一些文本。

我如何将字符串中的美元符号传递给 -replace?

最佳答案

这是关于如何转义正则表达式。每个特殊字符(与正则表达式相关的特殊字符),例如 $应该用 \ 转义

'$A$B()[].?etc' -replace '\$|\(|\)|\[|\]|\.|\?','x'
'$BASE_PATH$\Test\bin$Test_TYPE$\WebTest.dll' -replace '\$BASE_PATH\$\\Test\\bin\$Test_TYPE\$\\WebTest.dll','something'

当正则表达式如下所示时,将使用反引号:
'$A$B' -replace "\`$",'x'

关于powershell - 将包含美元符号的字符串传递给 -Replace 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2206539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com