【发布时间】:2019-11-06 19:30:20
【问题描述】:
我正在编写一个期望的脚本,它以以下格式搜索字符串:
([0-9]*)\) sign-([0-9]*)-X16-2019-11-04-dash.tar.xyz.abc
例如:
106) sign-496-X16-2019-11-04-dash.tar.xyz.abc
在 TUI 中并获取“)”之前的部分 [通过 $expect_out(1,string) 变量] 并将其发送到 TUI。
但是日期部分是可变的 [2019-11-04] 并且期望脚本通过 $argv 将其作为输入。 我一直在尝试找出正确的转义模式来正确连接字符串,以便正则表达式起作用。到目前为止,我已经尝试过:
set inputStr [lindex $argv 0]
expect -re {([0-9]*)\) sign-([0-9]*)-X16-\"$inputStr\"-dash.tar.xyz.abc} {....}
和
set inputStr [lindex $argv 0]
expect -re {([0-9]*)\) sign-([0-9]*)-X16-{$inputStr}-dash.tar.xyz.abc} {....}
但这些与 TUI 中的任何字符串都不匹配。我做错了什么?
【问题讨论】:
标签: regex escaping tcl expect tui