Из следующего скрипта мы видим, что простое число не может быть сопоставлено с [0-9], но в документе regexp сказано, что оно поддерживает это.Почему моя версия не работает?
#!/bin/expect
set timeout 20
set remote_cmd_prompt_regex "> $"
spawn bash --noprofile --norc
send "PS1='> '\r"
expect {
-regexp "$remote_cmd_prompt_regex" {
puts "Host ->$expect_out(buffer)"
send "echo 99\r"
# match with .* works
expect -regexp ".*\\n(.+)\\n$remote_cmd_prompt_regex"
puts "regex group ->$expect_out(1,string)"
send "echo 89\r"
# match with [0-9] does not work why?
expect -regexp ".*\\n(\[0-9]+)\\n$remote_cmd_prompt_regex"
puts "regex group ->$expect_out(1,string)"
}
timeout {
puts "Timeout error!"
exit 1
}
}