Estou usando o Privoxy 3.0.10.0 para filtrar páginas da Web antes que elas sejam repassadas para o navegador.
Não consigo descobrir por que esse simples regex não aciona uma reescrita. Talvez alguém mais experiente tenha uma idéia:
Aqui está o que parece quando eu clico no CTRL-U do Firefox para visualizar a fonte HTML:
<font color=#FF4AFF>JohnDoe</font>
Aqui está o meu regex; Também adicionei a opção "i" para ignorar maiúsculas e minúsculas
s|(<font color=.+?>JohnDoe</font>)|<span class=myclass>$1</span>|g
Obrigado por qualquer dica.
<span>
tags ou esperava que apenas aJohnDoe
parte fosse copiada<span class=myclass>JohnDoe</span>
? Apenas para ter certeza de que você não está negligenciando<span class=myclass><font color=#FF4AFF>JohnDoe</font></span>
o resultado.Respostas:
O próprio regex funciona bem, como mostra este exemplo do Python:
(supondo que o Privoxy use a mesma sintaxe regex, exceto a diferença
\1
vs.$1
, mas parece que sim.)Acho que o problema está em outro lugar - tente um regex que não pode falhar, como substituir
a
porb
, para ver se está tendo algum efeito.fonte
Obrigado pessoal. Acontece que o Privoxy era ganancioso, e eu não percebi que estava pegando muito mais dados do que eu pensava.
fonte
Não sabe ao certo qual mecanismo de ER você está usando, mas tente alterar o $ 1 para \ 1 - é assim que as referências anteriores geralmente são chamadas em perl.
fonte
<span class=myclass>$1</span>
- que esperamos que teria sido observado na pergunta então ...