Regex.IsMatchメソッドは、指定された文字列に対して正規表現にマッチする箇所があるかどうかの判定を行います。 String.Containsなどのメソッドが指定された文字列を含むかどうかを返すのと同様、Regex.IsMatchでは指定された正規表現にマッチする文字列を含むかどうかを返します。

次の例では、IsMatchメソッドを使ってファイル名のうち拡張子が".txt"または".doc"のものだけを表示しています。 比較として、String.EndsWithメソッドを使って同等の処理を実装した例も併記します。

(この例で用いている正規表現\.(txt|doc)$は、「ピリオド(\.)に続けて、txtまたはdoc((txt|doc))が続き、その後に文字列の末尾($)が表れる箇所」を表します。)

Regex.IsMatchメソッドを使って正規表現にマッチする文字列を含むかどうか判定する
using System;
using System.Text.RegularExpressions;

class Sample {
  static void Main()
  {
    var files = new string[] {
      "sample.txt",
      "sample.txt.bak",
      "sample.cs",
      "sample.doc",
      "test.txt",
    };

    foreach (var file in files) {
      // ファイル名のうち、正規表現にマッチするものを表示する
      if (Regex.IsMatch(file, @"\.(txt|doc)$"))
        Console.WriteLine(file);
    }
  }
}
実行結果
sample.txt
sample.doc
test.txt

このように、正規表現では単純な文字列の一致だけではなく、OR条件式や文字列の末尾での一致といった付加条件も記述することができます。 Stringクラスのメソッドでは複雑になるような文字列処理でも、正規表現を用いればシンプルに記述できるようになります。

String.Contains等のメソッドでStringComparisonを指定できるのと同様に、Regex.IsMatch等のメソッドでも動作オプションを変更するためのRegexOptionsを指定することができます。

パスやファイル名から拡張子部分を抽出するにはPath.GetExtensionメソッドを使うことができます。