Я узнал несколько вещей, еще покопавшись. Прежде всего, я смотрел не на вывод программы, а на вклад пользователя. Мне нужно было добавить флаг "-o", чтобы посмотреть на вывод программы. Я также сократил регулярное выражение до необходимой части.
Пример регулярного выражения из @ rikh заставил меня посмотреть, почему его или мое собственное регулярное выражение перестало работать, и это было связано с тем, что я смотрел не на результат, а на вход. Таким образом, исходное регулярное выражение, которое я попробовал, было не ошибочным, а просматриваемыми данными (без флага "-o")
Вот полный ответ на мою проблему.
interact {
#...
-o -nobuffer -re {(\[1;14H[a-zA-Z0-9]{1})[0-9]{5}} {
#get number in place
set numraw $interact_out(0,string)
#get just number out
set num [string range $numraw 6 11]
#switch to lowercase
set num [string tolower $num]
send_user " stored number: $num"
}
}
Я новичок с Expect и Tcl , поэтому, если что-то из этого не имеет смысла, или если у вас есть какие-то идеи по поводу флагов взаимодействия, пожалуйста, поставьте меня прямо.