Как удалить несколько вхождений шаблона из строки в Python?

Причины, почему селекторы на основе id не работают

  1. Элемент / DOM с указанным идентификатором еще не существует.
  2. Элемент существует, но он не является зарегистрированный в DOM [в случае, если HTML-узлы динамически добавляются из ответов Ajax].
  3. Присутствует более одного элемента с тем же идентификатором, который вызывает конфликт.

Решения

  1. Попробуйте получить доступ к элементу после его объявления или, альтернативно, использовать такие вещи, как $(document).ready();
  2. . Для элементов, исходящих из ответов Ajax, используйте метод .bind() для jQuery. В старых версиях jQuery для этого было .live().
  3. Используйте инструменты [например, плагин webdeveloper для браузеров], чтобы найти дубликаты идентификаторов и удалить их.
0
задан xbot 11 April 2019 в 22:37
поделиться

1 ответ

Вы в основном хотите найти что-нибудь между '<mark' и '/>', поэтому вы начинаете с паттерна

r'<mark .* />'

Однако .* будет жадным, так что вы не будете жадным до вас. нужно добавить ?, просто используйте re.sub, чтобы заменить эти совпадения пустой строкой

>>> re.sub(r'<mark .*? />', '', s)
'Bla bla bla  bla bla bla. Yadda yadda yadda  yadda.'
0
ответ дан CoryKramer 11 April 2019 в 22:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: