Cómo: Utilizar expresiones regulares para reorganizar los datos (C++/CLI)

El ejemplo de código siguiente muestra cómo se puede utilizar la compatibilidad de expresiones regulares de .NET Framework para reorganizar datos o cambiar el formato de los datos.El ejemplo de código siguiente utiliza las clases Regex y Match para extraer nombres y apellidos de una cadena y luego mostrar estos elementos en orden inverso.

La clase Regex se utiliza para construir una expresión regular que describe el formato actual de los datos.Se supone que los dos nombres están separados por una coma y pueden utilizar cualquier cantidad de espacio en blanco alrededor de la coma.El método Match se utiliza a continuación para analizar cada cadena.Si funciona correctamente, los nombres y los apellidos se recuperan del objeto Match y se muestran.

Ejemplo

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

Vea también

Otros recursos

Expresiones regulares de .NET Framework

.NET que programa en Visual C++