正则表达式查找字符串中的缓冲区期待
题
我试图找到一个合适匹配的转义字符的字符串(预计响应一个正则表达式,看到的这个问题)和六位数字(带有字母数字的第一个字符)。
下面是整个字符串我需要确定:
\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)
}
我需要识别转义字符来以验证它是在该屏幕区中的字段。所以,我需要一个正则表达式,其包括第一部分,但反斜杠混淆了我......
还有一次我在$ Number变量完整的字符串,我怎么隔离在Tcl的另一个变量只是多少?
解决方案 2
我发现了一些更多的挖几件事情。首先,我不看节目的输出,但用户的输入。我需要添加的“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"
}
}
我是小白与期待和Tcl 所以如果这个没有意义,或者如果您有任何更多的分析上市公司互动的标志,请把我直。
其他提示
如果你只是想在最后的数字,那么这应该是足够了...
[0-9]{6}
<强>用新信息更新强>
假设\ n是一个新行字符,而不是字面\后跟一个字面N,就可以做到这一点...
\r\n\u001B\[1;14H(X[0-9]{5})
不隶属于 StackOverflow