string path = @"C:\path\to\file.txt";
Regex matcher = new Regex(path); // エラー!(パスの円記号のエスケープはどうしよう…)
C#の事だから良い感じにエスケープしてくれる機能があるに違いないと思って調べてみたら、案の定''Regex.Escape''っていうそのまんまなメソッドがあった。
string path = @"C:\path\to\file.txt";
Regex matcher = new Regex( Regex.Escape(path) ); // C:\\path\\to\\file\.txt になる!
円記号だけではなく、正規表現のメタ文字を全部エスケープしてくれる。なので、上記例では拡張子のピリオドもエスケープされる。
便利便利。