У меня проблемы с регулярным выражением 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 попытается выполнить оценку (следовательно, '[' экранируется выше), и я не получаю ошибку 'invalid command', поэтому я думаю, что мы прошли этот этап.
Но теперь я застрял на том, почему это выражение не скомпилируется: - /
Если прямой ответ не получен, кто-нибудь знает какие-нибудь инструменты Expect regex, которые могут помочь мне отладить это?