我在使用 Expect 正则表达式时遇到问题。
我正在尝试匹配此输出:
RUC.hg0 : 6 +6
ITPOK.hg0 : 6 +6
ITUC.hg0 : 6 +6
ITPKT.hg0 : 6 +6
IT127.hg0 : 6 +6
ITBYT.hg0 : 456 +456
IR127.hg0 : 6 +6
IRPKT.hg0 : 6 +6
IRUC.hg0 : 6 +6
IRPOK.hg0 : 6 +6
IRBYT.hg0 : 456 +456
IRJUNK.hg0 : 1 +1
我想从行中的“+6”中取出“6”:
ITPKT.hg0 : 6 +6
我正在使用这个正则表达式:
ITPKT.*\+(\[0-9])
但是当我运行脚本时出现错误:
couldn't compile regular expression pattern: quantifier operand invalid
while executing
"expect -re "ITPKT.*\+(\[0-9])" {
puts "$expect_out(1, string)";
set snt $expect_out(1, string);
set sent 1;
}"
我读过某些字符需要转义,否则 Expect 会尝试评估(因此上面的“[”被转义了),而且我没有收到“无效命令”错误,所以我想我已经过去了那个阶段。
但现在我被困在为什么这个表达式不会编译:-/
如果没有直接回答,有人知道任何可以帮助我调试的 Expect 正则表达式工具吗?