在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3349|回复: 12

[求助] tcl脚本求助,解决后20元红包

[复制链接]
发表于 2018-1-16 19:02:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位好,咨询个tcl脚本问题,要从图片上的数据中提取 n1000gat($name) 所在行(必须是括号里的第一个数据),脚本该怎么写呢?  我写的是regexp {(.+);\n(.+? .+?\($name,.+?\);)\n} $str the_str the_str1 out_line   ,花括号{}里面的$name 并不能识别,这该怎么处理呢 ?或者有什么好的写法么?
file:///D:\用户目录\我的文档\Tencent Files\2227539840\Image\C2C\%$CVRF(4(LP$8JZ_M(2OV8R.png


%$CVRF(4(LPJZ_M(2OV8R.png



20元红包感谢哈!!
file:///D:\用户目录\我的文档\Tencent Files\2227539840\Image\C2C\%$CVRF(4(LP$8JZ_M(2OV8R.png
发表于 2018-1-17 10:45:22 | 显示全部楼层
不太明白明明是只要提取n1000gat行,却要去匹配上一行的内容,再匹配这一行,你确定你匹配的时候整个都在?
发表于 2018-1-17 10:54:10 | 显示全部楼层
大括号阻止变量内插
把命令set成变量, 大括号转义之后eval或者echo变量执行。
 楼主| 发表于 2018-1-17 12:34:54 | 显示全部楼层
s5378.rar (31.05 KB, 下载次数: 3 )
需要匹配的文件在s5378.txt里,假设   abc ABC_xxx(ddd,yyy,zzz); 这种类型中,括号里面第一个字符串存在某变量$name中
,需要匹配整个文件并返回其所在行的所有内容。$name必须是括号里面的第一个字符串,并且这样的行是唯一的,这样的正则表达式匹配该怎么写呢?  红包感谢
 楼主| 发表于 2018-1-17 12:37:02 | 显示全部楼层
回复 2# 武也锋


   是要返回一整行的内容,并且变量必须在括号的第一个位置,因为这个变量可能在其他行的括号的其他位置,您有什么其他号的写法么 ?
 楼主| 发表于 2018-1-17 12:38:19 | 显示全部楼层
回复 3# rioshiina


   高手能帮忙写个么,有红包感谢
发表于 2018-1-17 12:48:48 | 显示全部楼层
regexp “(.+);\n(.+? .+?\($name,.+?\);)\n” $str the_str the_str1 out_line
 楼主| 发表于 2018-1-17 13:02:00 | 显示全部楼层
你好,换成双引号我试过,不满足匹配条件的也会匹配成功。
如果你方便的话,调试一下,重谢!
发表于 2018-1-17 14:01:55 | 显示全部楼层
回复 6# my3651




  1. set name "n1000gat"
  2. set f [open /xxxxxxxxxxx/test0001 r]
  3. while { [ gets $f line ] > -1 } {
  4.     if { [ eval "regexp {$name,n\\d+gat,n\\d+gat} \$line" ] } {
  5.     puts "line=$line"
  6.     }
  7. }
  8. close $f


复制代码

测试处理下面的数据可以得到结果 line=N0R2_495(n1000gat,n419gat,n12529gat);

NOR2_496(n1004gat,n1000gat,n429gat);
NOR2_491(n1199gat,n1123gat,n1000gat);
N0R2_495(n1000gat,n419gat,n12529gat);

读取以上3行只输出最后一行, 不知是否正确?
 楼主| 发表于 2018-1-17 14:11:08 | 显示全部楼层
回复 9# rioshiina


   尽量不逐行匹配吧,毕竟几千行文本,效率太低了,能加Q嘛?私信你了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-28 23:15 , Processed in 0.030057 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表