Я пытаюсь создать простой анализатор HTML на основе Python с использованием регулярных выражений.Моя проблема заключается в попытке заставить мой поисковый запрос регулярных выражений найти все возможные совпадения, а затем сохранить их в кортеже.
Допустим, у меня есть страница со следующим, сохраненным в переменной HTMLtext
:
<ul>
<li class="active"><b><a href="/blog/home">Back to the index</a></b></li>
<li><b><a href="/blog/about">About Me!</a></b></li>
<li><b><a href="/blog/music">Audio Production</a></b></li>
<li><b><a href="/blog/photos">Gallery</a></b></li>
<li><b><a href="/blog/stuff">Misc</a></b></li>
<li><b><a href="/blog/contact">Shoot me an email</a></b></li>
</ul>
Я хочу выполнить поиск по регулярному выражению по этому тексту и вернуть кортеж, содержащий последний URL-каталог каждой ссылки.Итак, я хотел бы вернуть что-то вроде этого:
pages = ["home", "about", "music", "photos", "stuff", "contact"]
Пока что я могу использовать регулярные выражения для поиска одного результата:
pages = [re.compile('<a href="/blog/(.*)">').search(HTMLtext).group(1)]
Запускэто выражение составляет pages = ['home']
.
Как я могу продолжить поиск по регулярному выражению для всего текста, добавив соответствующий текст к этому кортежу?
(Примечание: Я знаю, что, вероятно, НЕ следует использовать регулярное выражение для разбора HTML . Но я все равно хочу знать, как это сделать.)