0

我想检查我的expect_out(buffer)包含是否%作为任何行上的第一个字符,如果找到它,然后打印 wole expect out contants。

4

2 回答 2

2

regexp的 -lineanchor 选项使 ^ 匹配行的开头,而不仅仅是字符串的开头。

if {[regexp -lineanchor -- {^%} $buffer]} {
    puts -nonewline $buffer
}
于 2013-03-26T13:59:20.723 回答
1

我对expect不太熟悉。但如果它只是一个普通的 tcl 字符串,例如:

%line1
^line2
&line3

然后你可以这样做:

set buffer "%line1\n^line2\n&line3"
foreach line [split $buffer "\n"] {
    if {[string index $line 0] == "%"} {
        puts $buffer; # prints the entire buffer, puts $line prints this line only
        break
    }
}
于 2013-03-26T13:28:19.837 回答