解释regsub调用

时间:2016-07-19 13:51:42

标签: tcl expect regsub

regsub -all "\\\\033" $cmd "\033" cmd
[regsub -all "\\\\c" $cmd "" cmd]
regsub -all "\\\\$i" $cmd [lindex $exp_out $i] cmd 

有人可以解释这三个陈述的含义吗? 它们是三种不同的陈述。

1 个答案:

答案 0 :(得分:1)

  

regsub -all "\\\\033" $cmd "\033" cmd

这将使用ASCII ESC 字符替换所有反斜杠后跟033的实例。它从cmd变量读取要处理的字符串,并将其写回该变量。

  

[regsub -all "\\\\c" $cmd "" cmd]

这将使用空字符串替换所有反斜杠后跟c的实例(有效地删除它)。它会更新cmd变量。它在其调用上下文中替换了执行的替换次数。

  

regsub -all "\\\\$i" $cmd [lindex $exp_out $i] cmd

这个有点复杂。对于存储在i变量中的特定数字索引,它将{{1}中的列表中的i'元素(从0开始)替换为反斜杠的所有实例,后跟索引。 }。它会更新exp_out变量。