Si no me explique bien porque no puse un ejemplo. Seria asi ...
Código Delphi
[-] aHotfixWebName := TRegEx.Match(HTML, codeStringRegExpHotfix);
if aWebFolderName.Success then
begin
while aWebFolderName.Success do
begin
...
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.