【发布时间】:2018-12-14 12:13:30
【问题描述】:
假设我有以下 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 项之外的所有内容 - 让标签完全包含“我想要的”字样,并且没有其他字母数字字符。我尝试将 BeautifulSoup4 的 find_all 与正则表达式过滤器一起使用:
html.find_all(string=re.compile(r"\W*what\W*I\W*want\W*", re.IGNORECASE))
但这会返回上一个示例中的所有标签。我想要一个完全匹配,而不是“包含”。
【问题讨论】:
-
有什么要求?您不希望它匹配的第二个标签是什么?是连字符吗?
-
@emsimpson92 编辑了问题 - 我想要标签的字符串内容完全匹配
标签: python regex beautifulsoup