以下はRegexクラスを用いてごく基本的なパターンマッチングの行う例です。 Regex.IsMatchメソッドは、指定した文字列が正規表現にマッチするかどうかをTrue/Falseで返します。

Regexクラスを用いて文字列が正規表現にマッチするか調べる
using System;
using System.Text.RegularExpressions;

class Sample {
  static void Main()
  {
    // 「".txt"で終わるかどうか」を表す正規表現
    var pattern = @"\.txt$";

    // 文字列が正規表現にマッチするかどうか調べる
    Console.WriteLine(Regex.IsMatch("sample.txt", pattern));

    Console.WriteLine(Regex.IsMatch("sample.dat", pattern));
  }
}
実行結果
True
False

Regexクラスでは、インスタンスを作成してからパターンマッチング関連のメソッドを呼び出す方法と、インスタンスを作成せずに静的メソッドを直接呼び出す方法の2種類が提供されています。 (§.Regexクラスのインスタンスメソッドと静的メソッド)

C#では、文字列中の"\"は後続の文字に対するエスケープを表します。 正規表現でも"\"が後続の正規表現要素に対するエスケープを表します。

上記の例における\.は、正規表現要素である.が単なるピリオドとして解釈されるよう、\を前置することでエスケープしています。 さらに、\C#文字列におけるエスケープ記号として解釈されないよう(記述されたまま解釈されるよう)にするため、文字列に@を前置して逐語的文字列リテラルとして記述しています。

逐語的文字列リテラルを用いない場合、上記の正規表現は"\\.txt$"と記述する必要があります。

この例のようにC#で正規表現を記述する場合、逐語的文字列リテラルを使用することが多くなります。 これはディレクトリ区切り記号"\"を含むファイルパスを記述する際にもよく用いられます。

逐語的文字列リテラルについて詳しくはリテラルとサフィックス §.逐語的文字列リテラルを参照してください。 また、正規表現要素としてのエスケープ文字については.NET Frameworkで使用できる正規表現 §.文字のエスケープを参照してください。