如何:使用規則運算式擷取資料欄位 (C++/CLI)
下列程式碼範例會示範使用規則運算式 (Regular Expression) 從已格式化的字串中擷取資料。 並會使用 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;
}