Gewusst wie: Suchen von Zeichenfolgen mithilfe von regulären Ausdrücken (C#-Programmierhandbuch)

Die Regex-Klasse kann zum Suchen von Zeichenfolgen verwendet werden. Die Komplexität dieser Suchvorgänge kann unterschiedlich sein: Es gibt sehr einfache Suchvorgänge und solche, die umfassend Gebrauch von regulären Ausdrücken machen. Nachfolgend sind für das Suchen von Zeichenfolgen mithilfe der Regex-Klasse zwei Beispiele aufgelistet. Weitere Informationen hierzu finden Sie unter Reguläre Ausdrücke von .NET Framework.

Beispiel

Der folgende Code ist eine Konsolenanwendung, die eine einfache Suche nach Zeichenfolgen in einem Array ausführt, wobei nicht zwischen Groß- und Kleinschreibung unterschieden wird. Die statische Methode Regex.IsMatch führt die Suche aus, wobei die zu suchende Zeichenfolge und eine Zeichenfolge mit dem Suchmuster angegeben werden müssen. In diesem Beispiel wird ein drittes Argument verwendet, um anzugeben, dass die Groß-/Kleinschreibung ignoriert werden soll. Weitere Informationen finden Sie unter RegexOptions.

class TestRegularExpressions
{
    static void Main()
    {
        string[] sentences = 
        {
            "C# code",
            "Chapter 2: Writing Code",
            "Unicode",
            "no match here"
        };

        string sPattern = "code";

        foreach (string s in sentences)
        {
            System.Console.Write("{0,24}", s);

            if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
            {
                System.Console.WriteLine("  (match for '{0}' found)", sPattern);
            }
            else
            {
                System.Console.WriteLine();
            }
        }

        // Keep the console window open in debug mode.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();

    }
}
/* Output:
           C# code  (match for 'code' found)
           Chapter 2: Writing Code  (match for 'code' found)
           Unicode  (match for 'code' found)
           no match here
*/

Der folgende Code ist eine Konsolenanwendung, bei der reguläre Ausdrücke verwendet werden, um das Format aller Zeichenfolgen in einem Array zu überprüfen. Für die Validierung ist es erforderlich, dass jede Zeichenfolge wie eine Telefonnummer in drei Zahlengruppen unterteilt ist, die mit Strichen voneinander getrennt sind. Die ersten zwei Gruppen enthalten drei Ziffern, die dritte Gruppe besteht aus vier Ziffern. Dies wird mithilfe des regulären Ausdrucks ^\\d{3}-\\d{3}-\\d{4}$ ermöglicht. Weitere Informationen finden Sie unter Sprachelemente für reguläre Ausdrücke – Kurzübersicht.

class TestRegularExpressionValidation
{
    static void Main()
    {
        string[] numbers = 
        {
            "123-555-0190", 
            "444-234-22450", 
            "690-555-0178", 
            "146-893-232",
            "146-555-0122",
            "4007-555-0111", 
            "407-555-0111", 
            "407-2-5555", 
        };

        string sPattern = "^\\d{3}-\\d{3}-\\d{4}$";

        foreach (string s in numbers)
        {
            System.Console.Write("{0,14}", s);

            if (System.Text.RegularExpressions.Regex.IsMatch(s, sPattern))
            {
                System.Console.WriteLine(" - valid");
            }
            else
            {
                System.Console.WriteLine(" - invalid");
            }
        }

        // Keep the console window open in debug mode.
        System.Console.WriteLine("Press any key to exit.");
        System.Console.ReadKey();
    }
}
/* Output:
      123-555-0190 - valid
     444-234-22450 - invalid
      690-555-0178 - valid
       146-893-232 - invalid
      146-555-0122 - valid
     4007-555-0111 - invalid
      407-555-0111 - valid
        407-2-5555 - invalid
*/

Siehe auch

Referenz

Regex

Konzepte

C#-Programmierhandbuch

Sprachelemente für reguläre Ausdrücke – Kurzübersicht

Weitere Ressourcen

Zeichenfolgen (C#-Programmierhandbuch)

Reguläre Ausdrücke von .NET Framework