Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2007, 09:57
luiguiray
 
Fecha de Ingreso: octubre-2003
Ubicación: Los Mochis, México.
Mensajes: 81
Antigüedad: 21 años, 2 meses
Puntos: 0
Reto de Expresiones Regulares

Hola gente del foro, hoy traigo un problemita que me gustaria me echaran una mano, el tema es sobre Expresiones Regulares y a continuación les detallo la situación:

Vamos a decir que tengo un archivo HTML que necesito leer y extraer cierta información que se encuentra entre ciertos tags.
Veamos el siguiente ejemplo:

Código:
<tag1>
       a
       b
       c
       <cont>
            bla bla
       </cont>
       <cont>
            ye ye
       </cont>
</tag1>
Yo necesito extraer lo que hay entre el <tag1> y <cont>, es decir, yo esperaría que me regresara "a b c".
Utilizo la siguiente expresión regular:
"<tag1>([\\p{Lower}\\p{Upper}\\p{Digit}\\n\\r\\t\\s\\p{Punc t}]*)<cont>"

Bueno, pues sucede algo muy curioso, me regresa hasta el 2do <cont>, como si ignorara el primero que se encuentra. Ahora bien, hice también la prueba añadiendo un 3er "segmento" de tags <cont>x</cont> y me regresa hasta el 3er tag, en otras palabras siempre me regresa hasta el último.

NOTA: Cabe señalar que no puedo(me regaña el jefe jeje) utilizar métodos como "abc".indexOf("b"), o substring(x,x) o cosas similares, pues tendría que retrabajar demasiado, además de que el performance es mejor si utilizo regex.

Saludos y espero sus respuestas.
Gracias Gente!
__________________
Te amo flakita (jrk)