ホームページ >バックエンド開発 >C#.Net チュートリアル >C# の正規表現
パターン マッチングは正規表現を使用して C# で行われ、C# の正規表現クラスは C# で正規表現を作成するために使用されます。文字列のパターン マッチングと置換の標準は正規表現を使用して設定され、ユーザーを通じてコンピューターにその方法を伝えます。文字列内の特定のパターンを検索し、探している特定のパターンが見つかった場合の応答は何であるかを調べます。正規表現は正規表現の略語です。C# の正規表現全体は、テキストを識別して置換するための強力な方法です。特定の形式で定義された文字列内。
以下は、C# の正規表現に使用される基本構文のリストです。それらは次のとおりです:
重要な量指定子のリストは次のとおりです:
重要な特殊文字のリストは次のとおりです:
文字を角かっこで囲むとグループ化できます。これを行うと、入力内の少なくとも 1 つの文字がクラス内の任意の文字と一致します。
[]: [] を使用して文字範囲を一致させることができます。 [Xyz] の例を考えてみましょう。この式は、x、y、z のいずれかと一致します。
[c-r] の例を考えてみましょう。この式は、c と r の間の任意の文字と一致します。
括弧 ( と ) を使用して、これらの項目をグループ化できます。
基本的に、正規表現エンジンには 2 種類あります。これらは、テキスト指向のエンジンと正規表現指向のエンジンです。正規表現指向のエンジンは、正規表現をスキャンして、正規表現内の次のトークンを次の文字と照合しようとします。一致が見つかった場合は正規表現が進み、そうでない場合は正規表現内の前の位置と解析対象の文字列に戻り、そこで正規表現を介して別のパスを試行できます。テキスト指向エンジンは、文字列内の次の文字に移動する前に、文字列をスキャンして正規表現のすべての順列を試行します。テキスト指向エンジンでは、バックトラックや後戻りはありません。後で完全に一致するものが見つかる可能性がある場合でも、正規表現エンジンによって常に左端の一致が返されます。エンジンは、正規表現が文字列に適用されるときは常に、文字列の最初の文字から始まります。考えられるすべての置換が最初の文字に適用され、結果が失敗したように見えます。その後、置換が文字列の 2 番目の文字に移動され、正規表現エンジンが完全一致を見つけるまでこのプロセスが続きます。
例を考えてみましょう お風呂に入る前に浴槽内の水を確認してください。正規表現エンジンは、上記の文から「bath」という単語を検索するように求められます。最初の文字 C は正規表現エンジンによって b と照合されますが、これは失敗します。したがって、次の文字 H は正規表現エンジンによって b と一致しようとしますが、これも失敗します。これが続き、正規表現エンジンが 24 番目 文字を b と照合しようとすると、一致します。したがって、続いて、バスタブからの単語「バス」と単語「バス」を照合します。エンジンは、バスタブからの単語「バス」が正しい一致として報告し、ステートメント内で他に一致するものがあるかどうかを確認することは行われません。これは、正規表現エンジンが内部でどのように動作するかです。
C# の正規表現では次のメソッドが使用されます。それらは次のとおりです:
携帯電話番号を検証するための正規表現の使用を示す C# プログラム。
コード:
using System; using System.Text.RegularExpressions; class Check { static void Main(string[] args) { //Mobile numbers are given as a input to an array of strings string[] nos = {"9902147368", "9611967273", "63661820954"}; foreach(string s in nos) { Console.WriteLine("The mobile number {0} {1} a valid number.", s, checkvalid(s) ? "is" : "is not"); } Console.ReadKey(); } // Regex expressions are verified through this code block public static bool checkvalid(string Number) { string cRegex = @"(^[0-9]{10}$)|(^\+[0-9]{2}\s+[0-9] {2}[0-9]{8}$)|(^[0-9]{3}-[0-9]{4}-[0-9]{4}$)"; Regex res = new Regex(cRegex); if (res.IsMatch(Number)) return (true); else return (false); } }
出力:
以上がC# の正規表現の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。