Я уже задал вопрос, но, похоже, мое объяснение было непонятным. Итак, я снова спрашиваю с подробной информацией.
<h2 class="sectionTitle">
CORPORATE HEADQUARTERS </h2>
277 Park Avenue<br />
New York, New York 10172
<br /><br />United States<br /><br />
Я бы хотел получить только Нью-Йорк, Нью-Йорк без почтового индекса 10172
И это еще один вопрос.
<h2 class="sectionTitle">
BACKGROUND</h2>
He graduated Blabala
</span>
Я бы хотел получить только Окончил Blabla
Я проводил несколько дней, поэтому я чувствую, что могу стать сумасшедшим.. Пожалуйста, помогите мне.. Спасибо за вашу любезную помощь заранее.
Вам все еще нужно больше деталей, чтобы написать хорошее регулярное выражение.
Например, если вы хотите извлечь вторую строку "КОРПОРАТИВНЫЕ ШТАБ-КВАРТИРЫ" без почтового кода, который всегда существует, ее можно записать следующим образом:
>>> import re
>>> html = '''
... <h2 class="sectionTitle">
... CORPORATE HEADQUARTERS </h2>
... 277 Park Avenue<br />
... New York, New York 10172
... <br /><br />United States<br /><br />
...
... <h2 class="sectionTitle">
... BACKGROUND</h2>
... He graduated Blabala
... </span>
... '''
>>> re.search('(?s)<h2 class="sectionTitle">\s*CORPORATE HEADQUARTERS\s*</h2>.*?<br />([^<>]+) \d+', html).group(1).strip()
'New York, New York'
>>> re.search('(?s)<h2 class="sectionTitle">\s*BACKGROUND\s*</h2>([^<>]+)', html).group(1).strip()
'He graduated Blabala'
Вы должны использовать комбинацию tag.contents
с .split('\n') to split on lines and
.rsplit('', 1) ', чтобы разделить только правую часть, разделенную пробелами.