0

我试图在正则表达式内联中单独获取子匹配..

set a "class-map id 400
   channel-rate normal
   class-map id 670
   channel-rate normal
   class-map id 456
   channel-rate normal"

puts [regexp -inline -all {class-map\sid\s([0-9]+)} $a]

它给出了一个类似 {class-map id 400} 400 {class-map id 670} 670 {class-map id 456} 456 的列表

如何在列表中单独获取子匹配?

4

1 回答 1

1

使用命令的varlist功能foreach

set ids {}
foreach {match submatch} [regexp -inline -all {class-map\sid\s([0-9]+)} $a] {
    lappend ids $submatch
}
set ids    ;# => 400 670 456
于 2013-06-18T18:54:56.980 回答