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

TextFSM如何用同一变量收集多行多实例匹配值?

TextFSM多行多匹配问题解决方案

问题根源

你当前的模板规则^\s*\d+.\s+${alm} -> Continue.Record仅会匹配每行开头的第一个带编号条目,同一行内后续的条目(比如text2、text3、text5)因为不符合行开头的匹配条件,无法被捕获,最终只得到每行第一个条目。

修正后的模板

Value List alm (\S+)

Start
  ^\s*\d+\.\s+${alm} -> Continue
  ^\s*$ -> Record
  ^set=$ -> Continue

模板说明

  1. 匹配所有编号条目:^\s*\d+\.\s+${alm} -> Continue
    • 正则^\s*\d+\.\s+匹配任意数量空格开头、紧跟数字+点号+空格的格式(覆盖行内任意位置的编号条目,比如" 2. text2"、" 3. text3")
    • 捕获${alm}后执行Continue,不触发记录,让同一行的所有条目都能被依次捕获
  2. 触发记录操作:^\s*$ -> Record
    • 当遇到空行(或仅含空格的行)时,将之前捕获的所有alm值批量记录
  3. 跳过无关行:^set=$ -> Continue
    • 跳过开头的set=行,不进行任何捕获或记录

验证结果

使用该模板处理你的输入文本,会得到期望结果:[text1, text2, text3, text4, text5, text6]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:13:10