2014-05-14 20 views

Odpowiedz

14

PowerShell można nazwać dokładnie tę samą metodę:

[Regex]::Escape($regexStr) 

Ale można jeszcze poprawić wymianę używając tylko si ngle regex zastąpić:

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

Jednak prawdopodobnie nadal brakowało kilku metaznakami z tej klasy postaci, więc wystarczy użyć metody [regex]::Escape.

+0

Dla moich celów generalnie preferuję twoją drugą sugestię (używając '-replace'), ponieważ nie ucieka ona do białych znaków. Jednak potrzebujesz jednej poprawki. Ostatnim argumentem powinno być '\ $ &' zamiast '\\ $ &', aby działał. To jest PowerShell, nie C# :-). –

Powiązane problemy