Hola
Flea:
Eso ocurre porque el asterisco * es por defecto egoísta. A mi también me entro la duda en principio. Es decir, si buscamos de
a a
a en este texto pasa lo siguiente:
Cita: Hola que tal, aqui esta mi texto y tiene muchas aes para hallar
Lo que ocurre es lo inesperado, que se captura el rango mayor que se puede capturar, osea:
a que tal, aqui esta mi texto y tiene muchas aes para halla
Para solucionar el problemita del asterisco egoísta, le ponemos un
? detrás para que no abuse:
Y se encuentra lo que esperábamos:
a que ta
aqui esta
as a
ara
alla
Luego tu problema se resuelve con la expresión regular:
Simple y llanamente.
También podíamos haber seguido tu ejemplo de agrupar todos los caracteres posibles, pero hay otra manera más cómoda: dar por válido cualquier caracter dentro de los corchetes, menos el corchete de cierre:
Es un poco lío la expresión, pero con los paréntesis se hace más legible.
Creo que esta solución la leí por primera vez aquí:
http://www.regular-expressions.info/repeat.html#greedy
Ellos lo llaman
Greediness y
Laziness.
Aunque esa web tiene bastante contenido interesante, mucho no está disponible para javascript (condicionales y alguna cosa más), además es muy general, hablan de PERL y otros lenguajes. Suelo visitar ésta si me entran las dudas:
http://developer.mozilla.org/es/docs...res_especiales
Saludos y espero que te sirva