Comment : analyser des chaînes à l'aide d'expressions régulières (C++/CLI)
L'exemple de code suivant illustre l'analyse d'une chaîne simple à l'aide de la classe Regex dans l'espace de noms System.Text.RegularExpressions. Une chaîne contenant plusieurs types de délinéateurs de mots est créée. Elle est analysée à l'aide de la classe Regex conjointement avec la classe Match. Ensuite, chaque mot de la phrase est affiché séparément.
Exemple
// 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;
}