- 论坛徽章:
- 2
|
本帖最后由 weichanghe2000 于 2016-09-11 01:24 编辑
回复 2# waker
多谢,非常感谢,错误解决了。
再请教下。
当输入文件某一行,出现多个我的用户名时,我想匹配到第1个我的用户名userme时,就不再匹配了,即想用Tcl的非贪婪匹配.*?
即如下:
if { [ regexp [ eval set pattern {(^\\w+\\d)\\s+:.*?$::env(USER)} ] $cur_line total_match grp_num ] } {
当我打印 $total_match时,得到结果竟然是 grp2 : user5, user6, userme, user7, user1, userme
看起来贪婪匹配没有起到作用。
我希望得到是最短的非贪婪匹配: grp2 : user5, user6, userme
能否帮忙再指导下?
多谢。
此时输入文件file.txt如下:
- grp1 : user1, user2, user3, user4
- grp2 : user5, user6, userme, user7, user1, userme, user2
- grp3 : user8, user9, user10, user11
- grpab: user12, user13
- grpcd: user14, user15
复制代码
|
|