Ver Mensaje Individual
  #3  
Antiguo 15-07-2013
avechuche avechuche is offline
Miembro
NULL
 
Registrado: may 2013
Posts: 23
Reputación: 0
avechuche Va por buen camino
Si no me explique bien porque no puse un ejemplo. Seria asi ...
Código Delphi [-]
      // HTML es un string con código HTML.
      aHotfixWebName := TRegEx.Match(HTML, codeStringRegExpHotfix);

      if aWebFolderName.Success then
        begin
          // Codigo que se inicializa una vez si se encuentra al menos una coincidencia.
          while aWebFolderName.Success do
            begin
            // Codigo por aquí
            ...
            aHotfixWebName := aHotfixWebName.NextMatch;
            end;
        end;

Bueno de esa forma obtengo todas las coincidencias, pero no entiendo que hace el .NextMatch.
1) ¿Cada vez que lo llamo busca en la cadena la siguiente coincidencia?
1a) ¿Desde el principio de la cadena o desde la posicion donde encontro la anterior coincidencia?
1b) Si es asi, ¿seria más lento que usar TMatchCollection?
2) ¿Ó cuando se llama por primera vez a la ER crea un "array" y el .NextMatch lo recorre?

Lo que puede observar es que TMatchCollection devuelve una coleccion que puede ser recorrida de forma iterativa y obtener los resultados mediante un indice, cosa que con TMatch no se puede.

No se si habra algo mas por lo cual me convenga usar uno u otro.

Otra cosa, se puede pasar un TMatchCollection a un array de forma directa? O no es necesario, el uso que le tengo que dar es solo de lectura, no tengo que reemplazar nada, por eso no si me conviene usar directamente el TMatchCollection o pasarlo a un array.
Responder Con Cita