2014-05-14 53 views

回答

14

的PowerShell可以調用完全相同的方法:

[Regex]::Escape($regexStr) 

但是,你甚至可以通過提高你的更換隻是一個SI ngle正則表達式替換:

$regexStr -replace '[[+*?()\\.]','\$&' 

不過,我可能仍然錯過了從字符類幾元字符,所以只需使用[regex]::Escape方法。

+0

出於我的目的,我通常更喜歡你的第二個建議(使用'-replace'),因爲它不會逃避空白。但是,您需要一個修復程序。最後的參數應該是'\ $&'而不是'\\ $&'。這是PowerShell,而不是C#:-)。 –