以下はRegexクラスを用いてごく基本的なパターンマッチングの行う例です。 Regex.IsMatchメソッドは、指定した文字列が正規表現にマッチするかどうかをTrue
/False
で返します。
Regexクラスでは、インスタンスを作成してからパターンマッチング関連のメソッドを呼び出す方法と、インスタンスを作成せずに静的メソッドを直接呼び出す方法の2種類が提供されています。 (§.Regexクラスのインスタンスメソッドと静的メソッド)
C#では、文字列中の"\"
は後続の文字に対するエスケープを表します。 正規表現でも"\"
が後続の正規表現要素に対するエスケープを表します。
上記の例における\.
は、正規表現要素である.
が単なるピリオドとして解釈されるよう、\
を前置することでエスケープしています。 さらに、\
がC#文字列におけるエスケープ記号として解釈されないよう(記述されたまま解釈されるよう)にするため、文字列に@
を前置して逐語的文字列リテラルとして記述しています。
逐語的文字列リテラルを用いない場合、上記の正規表現は"\\.txt$"
と記述する必要があります。
この例のようにC#で正規表現を記述する場合、逐語的文字列リテラルを使用することが多くなります。 これはディレクトリ区切り記号"\"
を含むファイルパスを記述する際にもよく用いられます。
逐語的文字列リテラルについて詳しくはリテラルとサフィックス §.逐語的文字列リテラルを参照してください。 また、正規表現要素としてのエスケープ文字については.NET Frameworkで使用できる正規表現 §.文字のエスケープを参照してください。