BeautifulSoup文本上的正则表达式完全匹配

时间:2018-07-05 23:12:14

标签: python regex beautifulsoup

说我有以下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))

,但这将返回上一个示例中的所有标签。我想要完全匹配,而不是“包含”。

1 个答案:

答案 0 :(得分:0)

^$字符可用于标记行的开头和结尾。

^\W*what\W*I\W*want\W*$替换正则表达式可以解决您的情况。