(0) exportieren Drucken
Alle erweitern
0 von 2 fanden dies hilfreich - Dieses Thema bewerten.

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

Die System.Text.RegularExpressions.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 zwei Beispiele aufgelistet, bei denen die Regex-Klasse verwendet wird. Weitere Informationen 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 System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String,System.Text.RegularExpressions.RegexOptions) 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 System.Text.RegularExpressions.RegexOptions.

class TestRegularExpressions
{
    static void Main()
    {
        string[] sentences = 
        {
            "cow over the moon",
            "Betsy the Cow",
            "cowering in the corner",
            "no match here"
        };

        string sPattern = "cow";

        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();
            }
        }
    }
}

Ausgabe

       cow over the moon  (match for 'cow' found)
           Betsy the Cow  (match for 'cow' found)
  cowering in the corner  (match for 'cow' 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}$ erreicht. Weitere Informationen finden Sie unter Sprachelemente für reguläre Ausdrücke.

class TestRegularExpressionValidation
{
    static void Main()
    {
        string[] numbers = 
        {
            "123-456-7890", 
            "444-234-22450", 
            "690-203-6578", 
            "146-893-232",
            "146-839-2322",
            "4007-295-1111", 
            "407-295-1111", 
            "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");
            }
        }
    }
}

Ausgabe

    123-456-7890 - valid
    444-234-22450 - invalid
    690-203-6578 - valid
    146-893-232 - invalid
    146-839-2322 - valid
    4007-295-1111 - invalid
    407-295-1111 - valid
    407-2-5555 - invalid

Siehe auch

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Vielen Dank für Ihr Feedback.
Anzeigen:
© 2014 Microsoft. Alle Rechte vorbehalten.