You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从输入中提取HTML标签而非文本?适配任意输入及循环实现

解决方案

要实现提取HTML标签名(如p、/p)并输出列表的需求,可按以下方式调整代码:

  1. 修改正则表达式:把原提取标签内文本的正则,换成匹配<和>之间标签内容的规则——r'<([^>]+)>',其中[^>]+匹配除>外的所有字符,括号用于捕获标签名部分。
  2. 替换匹配方法:用re.findall替代re.search,前者能返回所有符合条件的匹配结果,适配包含多个标签的任意输入。
  3. 用for循环收集结果:遍历匹配到的标签内容,将其存入列表(按要求实现循环逻辑)。

完整代码示例

import re

text = '<p>I want this bit removed</p>'
# 匹配所有HTML标签内的内容
tag_matches = re.findall(r'<([^>]+)>', text)

# 通过for循环将结果存入列表
tags_list = []
for tag in tag_matches:
    tags_list.append(tag)

print(tags_list)  # 输出: ['p', '/p']

适配复杂输入的扩展说明

如果输入包含带属性的标签(比如<div class="box">Content</div>),上述代码会输出['div class="box"', '/div']。若只想提取纯标签名(忽略属性),可把正则调整为r'</?([a-zA-Z0-9]+)[^>]*>',此时该输入会输出['div', 'div'],可根据实际需求选择。

内容的提问来源于stack exchange,提问作者JJ42

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 12:54:23