Синтаксический анализ HTML / XML / JSON с помощью регулярных выражений - это все равно что писать код плохого качества.HTML может содержать повторяющиеся вложенные структуры, которые могут привести к неожиданным результатам при синтаксическом анализе с помощью регулярного выражения.
Вы можете использовать библиотеку Beautiful Soup
в python и анализировать данный HTML-код для извлечения желаемого результата.
Вотпример кода Python с использованием Beautiful Soup
import re
from bs4 import BeautifulSoup
data = """<A NAME=speech26><b>SIR HUGH EVANS</b>
</a><blockquote>
<A NAME=1.1.58>Shall I tell you a lie? I do despise a liar as I do</A><br>
<A NAME=1.1.59>despise one that is false, or as I despise one that</A><br>
<A NAME=1.1.60>is not true. The knight, Sir John, is there; and, I</A><br>
<A NAME=1.1.61>beseech you, be ruled by your well-willers. I will</A><br>
<A NAME=1.1.62>peat the door for Master Page.</A><br>
<p><i>Knocks</i></p>
<A NAME=1.1.63>What, hoa! Got pless your house here!</A><br>
</blockquote>"""
soup = BeautifulSoup(data)
for aTag in soup.find_all('a', {'name': re.compile(r'\d+\.\d+\.\d+')}):
print(aTag.get_text())
, который дает следующий вывод по мере необходимости,
Shall I tell you a lie? I do despise a liar as I do
despise one that is false, or as I despise one that
is not true. The knight, Sir John, is there; and, I
beseech you, be ruled by your well-willers. I will
peat the door for Master Page.
What, hoa! Got pless your house here!
Обратите внимание, я также использовал здесь регулярное выражение, но в ограниченном пространстве, просто чтобы сказать, что меня интересуют все теги 'a', где значение атрибута name
соответствует этому шаблону \d+\.\d+\.\d+
.