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

如何用Tcl代码提取HTML文件中<h1>和<h2>标签内容?

修正后的Tcl代码及提取逻辑

原代码仅完成了文件读取操作,未实现标签提取逻辑,且最后一行puts $end存在变量未定义的错误。以下是能提取HTML中

和

标签内容的修正代码:

#!/usr/bin/env tclsh

# 打开HTML文件并读取内容
set f [open comment.html r]
set data [read $f]
close $f

# 正则匹配所有<h1>、<h2>标签的内容
# 正则规则:匹配带任意属性的h1/h2标签,捕获标签内的文本
regexp -all -inline {<h[12][^>]*>(.*?)</h[12]>} $data matches

# 遍历匹配结果,输出标签内容
foreach {full_tag content} $matches {
    puts $content
}

关键说明

  • 打开文件时指定r只读模式,符合代码规范。
  • 使用regexp的-all参数匹配所有符合条件的标签,-inline参数返回包含完整标签和捕获内容的结果列表。
  • 正则表达式{<h[12][^>]*>(.*?)</h[12]>}:
    • <h[12] 匹配h1或h2起始标签
    • [^>]* 匹配标签内的任意属性(如style)
    • (.*?) 非贪婪捕获标签内的文本内容
    • </h[12]> 匹配对应的闭合标签
  • 通过foreach遍历结果列表,每两个元素为一组(完整标签和文本内容),最终打印提取到的标签文本。

运行输出

执行后会得到:

metal1
metal2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 23:55:26