Visual C# と正規表現を使用してパターンを照合する

この詳細な記事では、正規表現を作成して使用して、文字列が特定のパターンと一致するかどうかを判断する方法について説明します。

元の製品バージョン: Visual C#
元の KB 番号: 308252

概要

正規表現を使用すると、特定のパターンに対する文字列の解析と照合を簡単に行うことができます。 名前空間で使用できるオブジェクトを RegularExpressions 使用すると、特定のパターンと文字列を比較したり、文字列パターンを別の文字列に置き換えたり、書式設定された文字列の一部のみを取得したりできます。 この例では、電子メール アドレスを検証するパターンを作成します。 この記事では、Microsoft .NET Framework クラス ライブラリ名前空間 を参照しますSystem.Text.RegularExpressions

要件

この記事では、次のトピックについて理解していることを前提としています。

  • Visual C#
  • 正規表現の構文

正規表現を使用してパターンに一致させる

  1. Visual C# を起動します。

  2. 新しい Visual C# コンソール アプリケーションを作成します。

  3. コードの後半でこれらの名前空間の宣言をText.RegularExpressions修飾する必要がないように、名前空間に using キーワード (keyword)を指定します。 using ステートメントは、他の宣言の前に使用する必要があります。

    using System.Text.RegularExpressions;
    
  4. パターン一致を使用して電子メール アドレスを検証する新しい正規表現を定義します。 次の正規表現は、次の 3 つのことを実現するために構成されています。

    1. シンボルの前に部分文字列を @ キャプチャし、その部分文字列をグループに配置します user
    2. シンボルの後に部分文字列を @ キャプチャし、その部分文字列をグループに配置します host
    3. 文字列の前半に記号がないことを @ 確認します。
    Regex emailregex = new Regex("(?<user>[^@]+)@(?<host>.+)");
    
  5. 有効な電子メール アドレスを含む新しい文字列を定義します。 メソッドのコマンド ライン引数が空の場合、既定値が提供されます。

    String s = "johndoe@tempuri.org";
    
  6. コマンド ライン パラメーターがあるかどうかを確認します。がある場合は、最初のパラメーターを取得し、変数 sに割り当てます。

    if (args.Length > 0) {
        s = args[0];
    }
    
  7. メソッドを Match 使用して電子メール アドレス変数を渡し、新しい Match オブジェクトを返します。 オブジェクトは Match 、ソース文字列で一致が見つかったかどうかに関係なくを返します。

    Match m = emailregex.Match(s);
    
  8. プロパティを調べることで、オブジェクトの Success 処理を続行するか、エラー メッセージを Match 出力するかを決定できます。 成功した場合は、 オブジェクトのuserコレクション内に Groups および host という名前のグループをMatch表示します。

    if (m.Success)
    {
        Console.WriteLine ("User: " + m.Groups["user"].Value);
        Console.WriteLine ("Host: " + m.Groups["host"].Value);
    }
    else
    {
        Console.WriteLine (s + " is not a valid email address");
    }
    Console.WriteLine ();
    
  9. アプリケーションの実行後もコンソール ウィンドウを開いたままにするには、次のコード行を追加します。

    System.Console.WriteLine("Press Enter to Continue...");
    System.Console.ReadLine();
    
  10. プロジェクトをビルドします。

  11. コードで指定された既定の電子メール アドレスを使用して開発環境でアプリケーションを実行するには、F5 キーを押すか、[デバッグ] メニューから [開始] を選択します。 コマンド ライン引数を使用してアプリケーションを起動するには、次の 3 つのオプションがあります。

    • [ プロジェクト ] メニューの [ プロパティ] をクリックし、[ デバッグ] をクリックします。 右側のウィンドウの [ スタート オプション] セクションで、テストする電子メール アドレスを指定します。 F5 キーを押すか、[デバッグ] メニューの [スタート] をクリックしてアプリケーションを実行します。
    • コマンド ウィンドウを起動し、プロジェクトが存在するフォルダーの下にある bin フォルダーまたは デバッグ フォルダーに移動します。 次に、実行可能ファイルの名前を入力し、テストする電子メール アドレスを入力します。
    • このプロジェクトの実行可能ファイルを見つけて、 Start..にドラッグします。 タスク バーの [実行] ウィンドウ。 確認する電子メール アドレスを追加し、[OK] をクリック します

関連情報