Foros del Web » Programando para Internet » Javascript »

Problema con Expresion Regular

Estas en el tema de Problema con Expresion Regular en el foro de Javascript en Foros del Web. Hola a todos, mi problema es el siguiente: Tengo el siguiente texto: <de>Decreto de de 14 de noviembre de 1958, por el que se aprueba ...
  #1 (permalink)  
Antiguo 07/11/2008, 04:24
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 1
Problema con Expresion Regular

Hola a todos,

mi problema es el siguiente:

Tengo el siguiente texto:

<de>Decreto de de 14 de noviembre de 1958, por el que se aprueba el Reglamento para la aplicación de la Ley del Registro <span title="civil" class="Highlight">Civil</span></de>

necesito una expresion regular que me sustituya todas las apariciones 'de' por '<b>de</b>' pero SOLO tiene que sustituir las de que no formen parte de un tag html es decir, la expresion regular deberia de coger las siguientes de:

<de>Decreto de de 14 de noviembre de 1958, por el que se aprueba el Reglamento para la aplicación de la Ley del Registro <span title="civil" class="Highlight">Civil</span></de>

La expresion regular que tengo es la siguiente:

(>[^<]*?)(de)

es decir, coge un mayor que, luego cualquier numero de caracteres que no sea el menor que (esto ultimo 0 o mas veces), que no sea abusivo(?) y que pare cuando encuentre la cadena de. El problema que tengo es que solo me sustiye la primera aparicion de de, es decir, la de Decreto.

Alguna idea por favor de porque puede estar pasando esto????? me interesaria saber sobre todo el pq para en la primera De.

Muchas Gracias.
  #2 (permalink)  
Antiguo 07/11/2008, 05:51
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Problema con Expresion Regular

Todo depende de cómo estás haciendo la llamada, en algunos casos bastará con que agregues una "g" (indicador de global) al final de la expresión regular.

Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/11/2008, 06:19
egu
 
Fecha de Ingreso: febrero-2008
Mensajes: 16
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: Problema con Expresion Regular

de[^<de>]

ponle esto en la expresion y te cogerá todos los 'de' excepto '<de>'.

Saludos
  #4 (permalink)  
Antiguo 07/11/2008, 07:23
 
Fecha de Ingreso: febrero-2008
Mensajes: 17
Antigüedad: 16 años, 2 meses
Puntos: 1
De acuerdo Respuesta: Problema con Expresion Regular

Muchas Gracias por la respuesta.

David lo de el modificador g ya lo habia probado pero todo sigue igual.

Egu tu solucion es cojonuda salvo que "de" era un ejemplo, en la realidad "de" es una variable(deberia haberlo comentado antes.) y en el caso de <aaadeaaa> no me valdria, pero igualmente has estado muy fino en la solucion.GRACIAS!!!

Al final he optado por
(?<=>[^<]*)de

es decir, delante de la "de" tiene que haber un > seguido de cualquier caracter distinto a <.
  #5 (permalink)  
Antiguo 07/11/2008, 07:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Problema con Expresion Regular

¿Al final ya funciona?. Si no, ¿podría ver cómo trataste de hacer el reemplazo?.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
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 14:14.