Freigeben über


Gewusst wie: Verwenden von regulären Ausdrücken zum Extrahieren von Datenfeldern (C++/CLI)

Im folgenden Codebeispiel wird die Verwendung von regulären Ausdrücken zum Extrahieren von Daten aus einer formatierten Zeichenfolge dargestellt. Das folgende Codebeispiel verwendet die Regex-Klasse, um ein Schema festzulegen, das einer E-Mail-Adresse entspricht. Zu diesem Schema gehören Feldbezeichner, mit denen der Benutzerbereich und der Hostbereich jeder E-Mail-Adresse abgerufen werden können. Die Match-Klasse wird verwendet, um den eigentlichen Mustervergleich auszuführen. Wenn die E-Mail-Adresse gültig ist, werden der Benutzername und der Host extrahiert und angezeigt.

Beispiel

// Regex_extract.cpp
// compile with: /clr
#using <System.dll>

using namespace System;
using namespace System::Text::RegularExpressions;

int main()
{
    array<String^>^ address=
    {
        "jay@southridgevideo.com",
        "barry@adatum.com",
        "treyresearch.net",
        "karen@proseware.com"
    };

    Regex^ emailregex = gcnew Regex("(?<user>[^@]+)@(?<host>.+)");

    for (int i=0; i<address->Length; i++)
    {
        Match^ m = emailregex->Match( address[i] );
        Console::Write("\n{0,25}", address[i]);

        if ( m->Success ) 
        {
            Console::Write("   User='{0}'", 
            m->Groups["user"]->Value);
            Console::Write("   Host='{0}'", 
            m->Groups["host"]->Value);
        }
        else 
            Console::Write("   (invalid email address)");
        }

    Console::WriteLine("");
    return 0;
}

Siehe auch

Weitere Ressourcen

Reguläre Ausdrücke von .NET Framework

.NET-Programmierung in Visual C++