Практическое руководство. Использование регулярных выражений для изменения порядка данных (C++/CLI)
На следующем примере кода демонстрируется использование поддержки регулярных выражений на базе платформы .NET Framework во время изменения порядка или формата данных. В следующем примере кода используются классы Regex и Match, которые извлекают первые и последние имена элементов строки и отображают их в обратном порядке.
Класс Regex используется для построения регулярного выражения, которое характеризует текущий формат данных. Два имени разделяются запятой и можно использовать любое количество пробелов вокруг запятой. Затем применяется метод Match, который позволяет анализировать отдельно каждую строку. При удачно выполненном анализе первые и последние имена извлекаются из объекта Match для отображения.
Пример
// regex_reorder.cpp
// compile with: /clr
#using <System.dll>
using namespace System;
using namespace Text::RegularExpressions;
int main()
{
array<String^>^ name =
{
"Abolrous, Sam",
"Berg,Matt",
"Berry , Jo",
"www.contoso.com"
};
Regex^ reg = gcnew Regex("(?<last>\\w*)\\s*,\\s*(?<first>\\w*)");
for ( int i=0; i < name->Length; i++ )
{
Console::Write( "{0,-20}", name[i] );
Match^ m = reg->Match( name[i] );
if ( m->Success )
{
String^ first = m->Groups["first"]->Value;
String^ last = m->Groups["last"]->Value;
Console::WriteLine("{0} {1}", first, last);
}
else
Console::WriteLine("(invalid)");
}
return 0;
}
См. также
Основные понятия
Регулярные выражения в .NET Framework