I am wondering if there is a better way to escape regex characters in powershell, I know C# has Regex.Escape, but I'm not sure if powershell has its own method...
This is what I am doing at the moment:
$escapedStr = $regexStr -replace "\+","\+" -replace "\[","\[" -replace "\]","\]" -replace "\(","\(" -replace "\)","\)"
PowerShell can call the exact same method:
[Regex]::Escape($regexStr)
But you could even improve your replacement by using just a single regex replace:
$regexStr -replace '[[+*?()\\.]','\$&'
However, I probably still missed a few metacharacters from that character class, so just use the [regex]::Escape
method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With