3 votos

No puedo entender por qué este regex no se aplica

Estoy usando Privoxy 3.0.10.0 para filtrar páginas web antes de que se pasen al navegador.

No puedo entender por qué esta simple regex no desencadena una reescritura. Quizás alguien más experimentado tenga una idea:

Así es como se ve cuando presiono CTRL-U en Firefox para ver el origen de HTML:

JohnDoe

Esta es mi regex; también he añadido el interruptor "i" para ignorar mayúsculas y minúsculas, sin éxito

s|(JohnDoe)|$1|g

Gracias por cualquier pista.

4voto

Dave Cheney Puntos 13302

El regex en sí mismo funciona bien, como muestra este ejemplo en Python:

import re
print re.sub(r"(JohnDoe)",
             r"\1",
             "JohnDoe")
# Imprime JohnDoe

(asumiendo que Privoxy utiliza la misma sintaxis de regex, exceptuando la diferencia entre \1 y $1, pero parece que lo hace.)

Supongo que el problema radica en otro lugar: prueba un regex que no pueda fallar, como reemplazar a por b

2voto

Czimi Puntos 1145

Gracias chicos. Resulta que Privoxy era codicioso, y no me di cuenta de que estaba consumiendo mucha más datos de los que pensaba.

0voto

David Joyner Puntos 4994

No estoy seguro de qué motor de RE estás usando, pero intenta cambiar el $1 a \1, así es como generalmente se hacen referencia a las referencias anteriores en perl, al menos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X