2011-11-01 58 views
4

编写TCL脚本在两个关键词正则表达式两个字

之间的匹配之间的所有匹配一切

例子:

X509v3 Extended Key Usage: 

1.2.3.4, 1.3.6.1.4.1.311.4, 1.1.1.1, 234.432.1.36.4564.345 

55.55.55.55, 66.66.66.66, 1234.5443.123.321.12.332.231.1 

X509v3 Subject Key Identifier: 

我希望能够得到所有的信息在扩展密钥之间用法和主题密钥标识符。

1.2.3.4, 1.3.6.1.4.1.311.4, 1.1.1.1, 234.432.1.36.4564.345 

55.55.55.55, 66.66.66.66, 1234.5443.123.321.12.332.231.1 

什么我都没有成功尝试:

set content [regexp {(?=<Extended Key Usage)(?s)(.*)(?=X509)} $ext match] 
. 
set content [regexp {\y(Extended Key Usage)(.*)(X509)\y} $ext match] 
+0

我试过这个.. /密钥用法:(。*)X509v3 /它似乎工作 – elboletaire

回答

1
regexp -linestop {Extended Key Usage:\s.*[\r\n]+((?:.|[\r\n])*?)(?=\s*X509v3 Subject Key Identifier:)} $subject regexmatch result 

试试这个。结果在捕获组1中被捕获。Lookbehind是不是在TCL中支持ARE http://wiki.tcl.tk/461