我对expect / tcl有疑问, 我期待以下
expect "class room: classroom 1"
send "classroom"
send "classroom" will return "class room: classroom 1"
但这不匹配,因为预期的匹配变为
class room: classroom 1:
如何在期待中处理“:”?
答案 0 :(得分:1)
开发期望计划的第一条建议:在spawn
使用此命令之前
exp_internal 1
这将向您展示期望的内容,您可以看到它是如何做的,与您预期的模式不符。
接下来,您可以使用expect -re {^pattern$}
为模式指定正则表达式。默认模式模式是glob-style匹配,在Tcl的string match命令中有记录。 Tcl正则表达式记录在here。
您想要编码:
send "classroom\r"
expect -re {class room: classroom 1:?}
答案 1 :(得分:0)
expect将匹配任何子字符串
send "hello"
expect "he"
那将匹配。你的第二个“:”来自哪里?