在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
答案 0 :(得分:2)
因为-match
使用正则表达式匹配您的字符串而$
是您需要转义的正则表达式字符...
考虑使用[regex]::escape
:
$Src = '$SOMETHING$'; #Good
$Src -match [regex]::escape('$SOMETHING$')