Практическое руководство. Анализ строк с помощью регулярных выражений (C++/CLI)
В следующем примере кода демонстрируется простой анализ строки с использованием класса Regex в пространстве имен System.Text.RegularExpressions.Результат: построена строка, которая содержит несколько типов разделителей слов.При анализе строки используется класс Regex совместно с классом Match.Затем отдельно отображается каждое слово предложения.
Пример
// regex_parse.cpp
// compile with: /clr
#using <system.dll>
using namespace System;
using namespace System::Text::RegularExpressions;
int main( )
{
int words = 0;
String^ pattern = "[a-zA-Z]*";
Console::WriteLine( "pattern : '{0}'", pattern );
Regex^ regex = gcnew Regex( pattern );
String^ line = "one\ttwo three:four,five six seven";
Console::WriteLine( "text : '{0}'", line );
for( Match^ match = regex->Match( line );
match->Success; match = match->NextMatch( ) )
{
if( match->Value->Length > 0 )
{
words++;
Console::WriteLine( "{0}", match->Value );
}
}
Console::WriteLine( "Number of Words : {0}", words );
return 0;
}