Zastanawiam się, czy istnieje lepsza opcja, aby uciec przed znakami wyrażeń regularnych w programie Power Shell, wiem, że C# ma Regex.Escape, ale nie jestem pewien, czy program Power Shell ma własną metodę ...powershell: jak uciec wszystkie znaki wyrażeń regularnych od ciągu znaków
to jest to, co robię w tej chwili:
$escapedStr = $regexStr -replace "\+","\+" -replace "\[","\[" -replace "\]","\]" -replace "\(","\(" -replace "\)","\)"
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# :-). –