2016-07-26 66 views
2

在單引號中的PowerShell字符串應該忽略裏面的特殊字符。但是,如果我使用-match,爲什麼我需要擺脫美元符號?爲什麼我需要在單引號中使用美元符號?

$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 

回答

2

因爲-match使用正則表達式來匹配你的字符串,$是,你需要逃脫正則表達式字符...

考慮使用[regex]::escape

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