Я пытаюсь найти регулярное выражение, которое соответствует строке escape-символов (ответ Expect, см. этот вопрос) и шестизначное число (с буквенно-цифровым первым символом).
Вот вся строка, которую мне нужно идентифицировать:
\r\n\u001b[1;14HX76196
В конечном итоге мне нужно извлечь строку:
X76196
Вот что у меня уже есть:
interact {
#...
#...
#this expression does not identify the screen location
#I need to find "\r\n\u001b[1;14H" AND "([a-zA-Z0-9]{1})[0-9]{5}$"
#This regex was what I was using before.
-nobuffer -re {^([a-zA-Z0-9]{1})?[0-9]{5}$} {
set number $interact_out(0,string)
}
Мне нужно идентифицировать escape-символы, чтобы убедиться, что это поле в этой области экрана. Итак, мне нужно регулярное выражение, которое включает эту первую часть, но обратная косая черта меня смущает...
Кроме того, когда у меня есть полная строка в переменной $number, как мне выделить только число в другой переменной в Tcl?