tcl期望正则表达式不起作用吗?

时间:2018-06-25 15:53:05

标签: tcl expect

我试图期望使用不同类型的网络设备,但是我无法进行更复杂的正则表达式工作。

对于Cisco设备,我有:

expect {"*>"}

*正常工作

但是对于Fortinet设备,我想这样做

expect {"^[a-zA-Z0-9_.-\s]+[#]"}

,它不起作用。我检查了REGEX的“检查器”,以确保该表达式正确并且似乎正常。所以基本上,我想过滤以“ NAME_OF_DEVICE#”开头的行,因为这是您首次连接Fortinet shell时的样子

知道为什么它不起作用吗?

1 个答案:

答案 0 :(得分:1)

manual开始:“ Regexp样式模式遵循Tcl的regexp(“正则表达式”的缩写)命令定义的语法。正则表达式模式以-re标志引入。”

您的示例:

expect -re {^[a-zA-Z0-9_.-\s]+#} ...