2011-06-17 13 views
4

私はこのコードを持っていると言う変数とエスケープシーケンスを無視する方法:C#の正規表現 -

someBoolsomeList、および someStringだけでランダムなブール値、リスト、および文字列です

は、それぞれ(これは簡単ですが私がやろうとしていることの例)。 Filepathはファイルパスで、バックスラッシュ(C:\\ somefolder \ somefileなど)がたくさんあります。私は

someBool = Regex.IsMatch(someString, @filepath); 

を使用してみましたし、私はまだ見てい:「... \\ H D」の問題は、私のようなもののために、「認識できないエスケープシーケンス」問題で、ArgumentExceptionエラーを取得し、このコードを実行することですエラー。私が忘れている何か他にはありますか?

+0

を使用してみましたが、あなたは 'someBool = Regex.IsMatch(someString、@filepath)と同じエラーを取得しているよろしいですか;'? – manojlds

+0

@manoj: '@'とは違います。 '@'では '@ if'のような変数を使うことができます。 'Regex'に文字列の読み方を魔法のように伝えません。 – SLaks

+0

あなたは正規表現としてファイルパスを扱っていますか?それは1つではないので、もちろん間違いを起こすことになります。あなたは何を達成しようとしていますか? – BonyT

答えて

6

あなたはRegex.Escape

Regex.IsMatch(someString, Regex.Escape(filepath)); 
+1

'、RegexOptions.IgnoreCase'を追加したい場合があります –