为什么我需要用单引号来兑换美元符号?

时间:2016-07-26 11:57:05

标签: powershell

在PowerShell中,单引号中的字符串应该忽略其中的特殊字符。但是,如果我使用$Src = '$SOMETHING$' # Good $Src # Good, returns string as is $Src -match '$SOMETHING$' # Returns false if $ is not escaped $Src -match '\$SOMETHING\$' # Returns true, $ is escaped

,为什么我需要逃避美元符号?
cats

1 个答案:

答案 0 :(得分:2)

因为-match使用正则表达式匹配您的字符串而$是您需要转义的正则表达式字符...

考虑使用[regex]::escape

$Src = '$SOMETHING$'; #Good
$Src -match [regex]::escape('$SOMETHING$')