Gewusst wie: Suchen von Zeichenfolgen mithilfe von regulären Ausdrücken (C#-Programmierhandbuch)How to: Search Strings Using Regular Expressions (C# Programming Guide)

Die System.Text.RegularExpressions.Regex-Klasse kann zum durchsuchen von Zeichenfolgen verwendet werden.The System.Text.RegularExpressions.Regex class can be used to search strings. Diese Suchvorgänge können sehr simpel sein oder voll von regulären Ausdrücken profitieren.These searches can range in complexity from very simple to making full use of regular expressions. Im Folgenden finden Sie zwei Beispiele für das Durchsuchen von Zeichenfolgen mit der Regex-Klasse.The following are two examples of string searching by using the Regex class. Weitere Informationen hierzu finden Sie unter Reguläre Ausdrücke von .NET Framework.For more information, see .NET Framework Regular Expressions.

BeispielExample

Der folgende Code ist eine Konsolenanwendung, die eine einfache Suche von Zeichenfolgen in einem Array durchführt, die nicht auf die Groß- und Kleinschreibung achtet.The following code is a console application that performs a simple case-insensitive search of the strings in an array. Die statische Methode Regex.IsMatch führt die Suche mit der zu durchsuchenden Zeichenfolge und einer Zeichenfolge, die das Suchmuster enthält, durch.The static method Regex.IsMatch performs the search given the string to search and a string that contains the search pattern. In diesem Fall wird ein drittes Argument verwendet, um anzugeben, dass die Groß- und Kleinschreibung nicht beachtet werden soll.In this case, a third argument is used to indicate that case should be ignored. Weitere Informationen finden Sie unter System.Text.RegularExpressions.RegexOptions.For more information, see System.Text.RegularExpressions.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
*/

BeispielExample

Der folgende Code ist eine Konsolenanwendung, die reguläre Ausdrücke verwendet, um das Format jeder Zeichenfolge in einem Array zu überprüfen.The following code is a console application that uses regular expressions to validate the format of each string in an array. Für die Überprüfung ist erforderlich, dass jede Zeichenfolge die Form einer Telefonnummer hat, in der drei Gruppen von Zahlen durch Gedankenstriche getrennt sind, wobei die erste Gruppe drei Zeichen enthält und die dritte vier.The validation requires that each string take the form of a telephone number in which three groups of digits are separated by dashes, the first two groups contain three digits, and the third group contains four digits. Dies erreichen Sie mit dem regulären Ausdruck ^\\d{3}-\\d{3}-\\d{4}$.This is done by using the regular expression ^\\d{3}-\\d{3}-\\d{4}$. Weitere Informationen finden Sie unter Sprachelemente für reguläre Ausdrücke – Kurzübersicht.For more information, see Regular Expression Language - Quick Reference.

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 auchSee Also

System.Text.RegularExpressions.Regex
C#-ProgrammierhandbuchC# Programming Guide
ZeichenfolgenStrings
Reguläre Ausdrücke von .NET Framework.NET Framework Regular Expressions
Sprachelemente für reguläre Ausdrücke – KurzübersichtRegular Expression Language - Quick Reference