2009-10-18 8 views
49

私はSystem.Text.RegularExpressions.Regex.IsMatch(testString、regexPattern)を使用して文字列内の検索を行っています。C#RegEx:パターンを無視しますか?

パターンが大文字小文字を無視する必要があることをregexPattern文字列で指定する方法はありますか? (つまり、Regex.IsMatch(testString、regexPattern、RegexOptions.IgnoreCase)を使用せずに)

答えて

103

(?i)パターン内で大文字と小文字を区別しない一致が始まると、(?-i)はそれを終了します。つまり、

(?i)foo(?-i)bar 

試合FOObarではなくfooBARです。

EDIT:私は(?-i)では、大文字と小文字が区別照合を開始しますと述べている必要があります - あなたが全体のパターンは大文字と小文字を区別しないようにしたい場合、あなたは(?i)を「終了」する必要はありません。

+0

終了(?-i)は必須か省略できるのですか? – core

+0

エラーなく省略できます。 –

+2

ところで、この構文は、JavaやScalaなどの他の言語の正規表現ライブラリでも機能します。 – Xavi

関連する問題