2011-01-25 7 views
3
regex = new Regex("(" + str1 + ")", RegexOptions.IgnoreCase);      

この正規表現を使用して、大文字と小文字を無視してテキストを検索します。しかし、私が 私は入力としてシンボルを与えるとき、私はArgumentInvalidの例外を取得しています。どうすればシンボルを検索することもできますか?私はこの式をC#で使用しています.Net私が使用する正規表現では記号を使用できません

答えて

6

正規表現をエスケープする必要があります。

使用Regex.Escape

+5

次のように彼はコードを書く必要があります - 正規表現=新しい正規表現( "(" + Regex.Escape(STR1)+ ")"、RegexOptions.IgnoreCaseを)。 – CodeMonkeyKing

+1

括弧を文字通り一致させたい場合を除いて、彼は全体をエスケープする必要があります。正規表現全体をカッコで囲むことは、実際にはあまり意味がありません。 –

+0

あなたの助けをありがとう.... Regex.Escape()はうまくいきます... –

関連する問題