tcl:循环并使用Regex提取

简单易用

我有大量数据,我想根据两个条件提取两种类型的数据。我编写了一个tcl脚本,使用正则表达式(新手到正则表达式)提取数据。

我使用了以下条件,该条件可以正常工作并产生部分所需的输出:

if [regexp {\+ ([0-9.]+) 1 2.*- } $line -> time ] {

我在脚本中的某处使用了可变时间。上面的条件产生以下o / p(由于文件很大,这只是一个示例):

+ 30.808352 1 2 tcp 40 ------- 30 6.7 2.30 81 2073
+ 30.808416 1 2 tcp 40 ------- 128 8.16 2.159 81 2069
+ 30.809513 1 2 tcp 40 ------- 156 12.19 2.187 1 2077
+ 30.809641 1 2 tcp 80 ------- 156 12.19 2.187 1 2078
+ 30.809878 1 2 tcp 40 ------- 151 7.18 2.182 41 2079
+ 30.813096 1 2 tcp 40 ------- 161 9.20 2.192 0 2083
+ 30.813352 1 2 tcp 40 ------- 157 13.19 2.188 1 2085
+ 30.81348 1 2 tcp 80 ------- 157 13.19 2.188 1 2086
+ 30.815362 1 2 tcp 40 ------- 148 12.18 2.179 41 2088
+ 30.815426 1 2 tcp 40 ------- 148 5.9 2.179 41 2089
+ 30.818096 1 2 tcp 40 ------- 162 10.20 2.193 0 2091
+ 30.818544 1 2 tcp 40 ------- 158 3.78 2.189 1 2093
+ 30.818672 1 2 tcp 80 ------- 158 14.19 2.189 1 2094
+ 30.820657 1 2 tcp 40 ------- 153 9.19 2.184 41 2096
+ 30.821579 1 2 tcp 40 ------- 154 10.19 2.185 41 2097

然后,在上述if条件中,我要检查第9列:

//condition 1
if (9th between [3-6].*) ( such as 3.78,6.7, 5.9)

第二个条件是:

  //condition 2
if (9th between [7-14].*) ( such as 14.19,12.18,10.19, 9.19,.....)

我在上述两个条件下苦苦挣扎。我尝试了以下操作,但没有收到错误消息,但是没有匹配!

condition 1:
if [regexp {\+ ([0-9.]+) 1 2.*-* ([3-9])\..*/ } $line ] {

我知道我要重复主要的if条件,因为我不知道如何跳过列!

condition 2:
 if [regexp {\+ ([0-9.]+) 1 2.*-* ([7-9]|1[0-4])\..*/} $line ] {

有什么建议 !!!

阿尔法勇敢

比赛7-14\+ ([0-9.]+) 1 2.*- \d+\s(?:[7-9]|1[0-4]) 演示
比赛3-6\+ ([0-9.]+) 1 2.*- \d+\s[3-6] 演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用 RegEx 提取单词

来自分类Dev

在foreach循环中使用全局修饰符从perl regex中提取匹配项

来自分类Dev

Golang:使用Regex提取数据

来自分类Dev

使用Regex提取数据URL

来自分类Dev

使用regex / javascript提取姓氏

来自分类Dev

使用Regex动态提取GUID

来自分类Dev

使用Regex提取版本信息

来自分类Dev

无法使用TCL评估IF和For循环中的变量

来自分类Dev

使用BeautifulSoup和for循环提取数据

来自分类Dev

使用循环提取数据FRON JSON数组

来自分类Dev

使用循环从表中提取列

来自分类Dev

如何使用循环而不是数组提取单词

来自分类Dev

在多个提取请求中的for循环中使用提取

来自分类Dev

TCL-REGEX ::如何使用TCL regexp过滤文本文件中多次出现的行

来自分类Dev

Tcl中的事件循环

来自分类Dev

使用Regex Expression提取特定值

来自分类Dev

在Notepad ++混乱中使用RegEx提取文本

来自分类Dev

使用Regex解析提取数据的问题

来自分类Dev

使用REGEX提取表达式的内部

来自分类Dev

使用python regex提取项目编号

来自分类Dev

使用Regex提取多行SAS代码

来自分类Dev

使用Regex Postgresql提取特定参数值

来自分类Dev

使用Regex提取轮胎尺寸-C#

来自分类Dev

使用Regex匹配命令并提取参数

来自分类Dev

使用sed和regex从JSON提取数组

来自分类Dev

在Notepad ++混乱中使用RegEx提取文本

来自分类Dev

使用 Python Regex 自动提取文本

来自分类Dev

RegEx:使用 Escape \= 提取 Key=Value 对

来自分类Dev

TCL ::如何使用TCL中的while循环从10到1打印数字(如何减少变量值)