BeautifulSoup точное совпадение регулярных выражений в тексте - PullRequest
0 голосов
/ 06 июля 2018

Скажите, что у меня есть следующий HTML:

html = """
<tag1> What I want </tag1>
<tag1> Not What I want - really not </tag1>
<tag1> What I want </tag1>
<tag1> What I
       Want </tag1>
"""

Я хочу извлечь все, кроме 2-го элемента - иметь теги со словами «Что я хочу» и без других буквенно-цифровых символов. Я попытался использовать find_all BeautifulSoup4 с фильтром регулярных выражений, например:

html.find_all(string=re.compile(r"\W*what\W*I\W*want\W*", re.IGNORECASE))

но это возвращает все теги в предыдущем примере. Я хочу точное совпадение, а не «содержит».

1 Ответ

0 голосов
/ 06 июля 2018

Символы ^ и $ могут использоваться для обозначения начала и конца строки.

Замена вашего регулярного выражения на ^\W*what\W*I\W*want\W*$ должна работать для ваших дел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...