MST

星途 面试题库

面试题:Python正则表达式处理简单HTML标签

给定一段简单的HTML代码如下:<p>这是一个段落</p> <a href='https://example.com'>链接</a>,请使用Python的正则表达式提取出所有标签内的文本内容,即 '这是一个段落' 和 '链接'。
12.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
import re

html = "<p>这是一个段落</p> <a href='https://example.com'>链接</a>"
pattern = re.compile(r'<.*?>(.*?)</.*?>')
results = pattern.findall(html)
print(results)

上述代码中:

  1. 导入re模块,它是Python中用于处理正则表达式的标准库。
  2. 定义了要处理的HTML字符串html
  3. 使用re.compile方法编译正则表达式,r'<.*?>(.*?)</.*?>'这个正则表达式的含义是:
    • <.*?>:匹配开始标签,.*?表示非贪婪匹配,尽可能少地匹配字符直到遇到>
    • (.*?):这部分是捕获组,用于提取开始标签和结束标签之间的文本,同样使用非贪婪匹配。
    • </.*?>:匹配结束标签。
  4. 使用pattern.findall方法在html字符串中查找所有匹配项,并将结果存储在results列表中,最后打印出results