Foros del Web » Programando para Internet » Javascript »

expresion regular

Estas en el tema de expresion regular en el foro de Javascript en Foros del Web. Hola a todos, estoy trabajando con una expresion regular en js. Tengo una cadena asi: <!--:fr-->aaaa<!--:--><!--:en-->bbbb<!--:--><!--:es-->bbbb<!--:--> al pasarla validarla con '<!--:fr-->.+?.<!--:-->' me devuelve <!--:en-->lalalala<!--:--> PEro ...
  #1 (permalink)  
Antiguo 12/10/2010, 10:34
 
Fecha de Ingreso: octubre-2008
Mensajes: 140
Antigüedad: 16 años, 1 mes
Puntos: 1
expresion regular

Hola a todos, estoy trabajando con una expresion regular en js. Tengo una cadena asi:

<!--:fr-->aaaa<!--:--><!--:en-->bbbb<!--:--><!--:es-->bbbb<!--:-->

al pasarla validarla con '<!--:fr-->.+?.<!--:-->' me devuelve <!--:en-->lalalala<!--:-->

PEro en cambio si valido la cadena

<!--:fr-->aaaa<!--:--><!--:en--><!--:--><!--:es--><!--:--> con '<!--:en-->.+?.<!--:-->' me devuelve <!--:en--><!--:--><!--:es--><!--:-->

Alguien sabe como hacer para que me devuelva <!--:en--><!--:--> o mejor aun que e devuelva lo que está entre '<!--:en-->' y '<!--:-->'
  #2 (permalink)  
Antiguo 12/10/2010, 12:28
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: expresion regular

sucede porque estas usando un patrón muy genérico, en específico el punto (.) el cual representa cualquier caracter que no sea line-terminator -por ejemplo-, un salto de linea. por tanto, tu situación reside en .+?.. el repetidor + significa uno o mas, por lo que obligadamente tiene que encontrar un caracter. seguido del repetidor tienes un punto. en fin, esa pequeña porcion atrapa la etiqueta comentario. ¿que puedes hacer? quitale el último punto y el repetidor cambialo a asterisco.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: expresion, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:35.