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

Tcl已知行号如何打印整行内容并提取指定版本字段

问题原因

你当前用的正则{\d+}仅匹配连续数字串,匹配目标行时第一个命中的内容就是10,所以只会输出这个结果。

解决方案

你可以任选以下两种方式调整:

方法1:按固定格式分割(更简单,适合键 = 值的固定行结构)

# 先获取目标行完整内容
set target_line [lindex $lines $idx]
# 按等号分割后取第二部分,修剪掉前后的空白字符即可拿到完整版本号
set version [string trim [lindex [split $target_line "="] 1]]
# Tcl原生输出命令为puts,如果你用的环境支持print也可以保留原有输出写法
puts $version

方法2:正则匹配(适合需要精准校验版本格式的场景)

如果要通过正则匹配整段版本号,需要把正则规则覆盖版本号的完整格式:

set target_line [lindex $lines $idx]
# 匹配等号后的所有非空白内容
regexp {=\s*(\S+)} $target_line -> version
puts $version

如果需要更严格的格式校验,匹配Aa/10.10-d87_1这类规则的版本号,可以用:

regexp {=\s*([A-Za-z]+/\d+\.\d+-[a-zA-Z0-9]+_\d+)} $target_line -> version
puts $version

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:54:01