逆に、エスケープされている正規表現要素をアンエスケープ(エスケープ解除)するにはRegex.Unescapeメソッドを使います。 結果はEscapeメソッドと逆になります。
Regex.Unscapeメソッドで文字列中の正規表現要素をアンエスケープする
Imports System
Imports System.Text.RegularExpressions
Class Sample
Shared Sub Main()
' 文字列中のエスケープされている記号をアンエスケープする
Dim str As String = "\(\)\.\*\%\!$$\$"
Console.WriteLine(str)
Console.WriteLine(Regex.Unescape(str))
End Sub
End Class
実行結果
\(\)\.\*\%\!$$\$ ().*%!$$$
このメソッドでは、エスケープされた置換の正規表現要素を表す$$
はエスケープされているとは解釈されず、$$
のままとなるようです。 \$
は$
にアンエスケープされるようです。