我想检查我的expect_out(buffer)
是否包含%
作为任意一行的第一个字符
如果它被发现,那么打印出来的是预期的污染物。
答案 0 :(得分:2)
regexp的-lineanchor选项使^匹配行的开头而不仅仅是字符串的开头。
if {[regexp -lineanchor -- {^%} $buffer]} {
puts -nonewline $buffer
}
答案 1 :(得分:1)
我对期望并不熟悉。但如果它只是一个普通的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
}
}