방법: 정규식을 사용하여 데이터 필드 추출

업데이트: 2007년 11월

다음 코드 예제에서는 서식이 지정된 문자열의 데이터를 정규식을 사용하여 추출하는 방법을 보여 줍니다. 다음 코드 예제에서는 Regex 클래스를 사용하여 전자 메일 주소에 해당하는 패턴을 지정합니다. 이 패턴에는 각 전자 메일 주소의 사용자 및 호스트 이름 부분을 검색하는 데 사용할 수 있는 필드 식별자가 포함됩니다. Match 클래스는 패턴이 일치하는지 실제로 확인하는 데 사용됩니다. 지정된 전자 메일 주소가 유효하면 사용자 이름과 호스트 이름을 추출하여 표시합니다.

예제

// 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;
}

참고 항목

기타 리소스

.NET Framework 정규식

.NET 프로그래밍 가이드