Я использую Privoxy 3.0.10.0 для фильтрации веб-страниц, прежде чем они будут переданы браузеру.
Я не могу выяснить, почему этот простой regex не инициировал переписывание. Возможно, у кого-то более опытного будет идея:
Вот то, на что похоже, когда я поразил CTRL-U Firefox для просмотра источника HTML:
<font color=#FF4AFF>JohnDoe</font>
Вот мой regex; я также добавил, что "i" переключаются для игнорирования регистра, напрасно
s|(<font color=.+?>JohnDoe</font>)|<span class=myclass>$1</span>|g
Спасибо за любую подсказку.
Сам regex хорошо работает как этот пример Python шоу:
import re
print re.sub(r"(<font color=.+?>JohnDoe</font>)",
r"<span class=myclass>\1</span>",
"<font color=#FF4AFF>JohnDoe</font>")
# Prints <span class=myclass><font color=#FF4AFF>JohnDoe</font></span>
(принятие Privoxy использует тот же regex синтаксис, запрещая \1
по сравнению с. $1
различие, но похоже, что это делает.)
Я предполагаю, что проблема заключается в другом месте - пробуют regex, который не может перестать работать, как замена a
с b
, видеть, имеет ли это какой-либо эффект вообще.
Не уверенный, какой механизм РЕ Вы используете, но пытаетесь измениться на 1$ на \1 - это - то, как обратные ссылки обычно упоминаются в жемчуге, по крайней мере.
<span class=myclass>$1</span>
- который, надо надеяться, был бы отмечен в вопросе затем...
– Arjan
25.07.2009, 21:10
Парни Танска. Оказывается, что Privoxy был жадным, и я не заметил, что требовалось намного больше данных, чем я думал.