说我有以下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>
"""
我想提取除第二项以外的所有内容-以使标签中包含“我想要的”字样,而没有其他字母数字字符。我尝试将BeautifulSoup4的find_all与正则表达式过滤器一起使用:
html.find_all(string=re.compile(r"\W*what\W*I\W*want\W*", re.IGNORECASE))
,但这将返回上一个示例中的所有标签。我想要完全匹配,而不是“包含”。
答案 0 :(得分:0)
^
和$
字符可用于标记行的开头和结尾。
用^\W*what\W*I\W*want\W*$
替换正则表达式可以解决您的情况。