免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4385 | 回复: 10
打印 上一主题 下一主题

求助,怎么用零宽断言 [复制链接]

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-07-28 12:59 |只看该作者 |倒序浏览
本帖最后由 drakness 于 2015-07-28 13:00 编辑

我有个一个文本,内容是这样的,
  1. 45SD123SD123TP_T_ACTRow-X (SX)ad45SD123SD123TP_T_ACTRow-X (SX)wwwad45SD123SD123TP_T_ACTRow-X (SX)wwwad
  2. 45SD123SD123TP_T_ACTRow-X (SX)ad45SD123SD123TP_T_ACTRow-X (SX)wwwad45SD123SD123TP_T_ACTRow-X (SX)wwwad
  3. 45SD123SD123TP_T_ACTRow-X (SX)ad45SD123SD123TP_T_ACTRow-X (SX)wwwad45SD123SD123TP_T_ACTRow-X (SX)wwwad
复制代码
我想得到这样的数据
  1. TP_T_ACT  TP_T_ACT  TP_T_ACT
  2. TP_T_ACT  TP_T_ACT  TP_T_ACT
  3. TP_T_ACT  TP_T_ACT  TP_T_ACT
复制代码
我自己尝试使用了grep -oP 但是得到的数据是
TP_T_ACT
TP_T_ACT
TP_T_ACT
TP_T_ACT

我想在一行输出,perl怎么做到?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2015-07-28 14:21 |只看该作者
回复 1# drakness

  1.     perl -nE 'local $,=" "; say m/TP_T_ACT/g' data.txt
复制代码

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
3 [报告]
发表于 2015-07-28 14:45 |只看该作者
回复 2# MMMIX


    这个数据不是确定的

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
4 [报告]
发表于 2015-07-28 14:49 |只看该作者
回复 3# drakness


    那重新描述问题吧

评分

参与人数 1信誉积分 +10 收起 理由
substr函数 + 10 赞一个!

查看全部评分

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
5 [报告]
发表于 2015-07-28 16:15 |只看该作者
MMMIX 发表于 2015-07-28 14:49
回复 3# drakness
  1. 45SD123SD123TP_X_ACTRow-X (SX)ad45SD123SD123FK_T_ASTRow-X (SX)wwwad45SD123SD123TI_TY_ACTRow-X (SX)wwwad
  2. 45SD123SD123TOT_ACTOSRow-X (SX)ad45SD123SD123TL_QT_ATCTRow-X (SX)wwwad45SD123SD123TP_T_ACTRow-X (SX)wwwad
  3. 45SD123SD123TP_T_ACTRow-X (SX)ad45SD123SD123TP_T_ACTRow-X (SX)wwwad45SD123SD123TP_T_ACTRow-X (SX)wwwad
复制代码
数据就是这样的

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
6 [报告]
发表于 2015-07-28 16:24 |只看该作者
回复 5# drakness


    了解

论坛徽章:
10
2015年亚洲杯之科威特
日期:2015-04-13 13:51:5315-16赛季CBA联赛之山东
日期:2016-01-16 18:35:0815-16赛季CBA联赛之广东
日期:2016-01-04 15:26:23程序设计版块每日发帖之星
日期:2015-11-13 06:20:002015亚冠之阿尔艾因
日期:2015-11-10 12:32:242015亚冠之阿尔沙巴布
日期:2015-05-15 18:26:49羊年新春福章
日期:2015-04-28 16:45:112015年亚洲杯之伊拉克
日期:2015-04-25 20:06:30羊年新春福章
日期:2015-04-13 13:53:2015-16赛季CBA联赛之八一
日期:2016-01-20 18:23:49
7 [报告]
发表于 2015-07-28 17:53 |只看该作者
回复 4# MMMIX


    没看出来这个赞,赞的是什么?

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
8 [报告]
发表于 2015-07-28 18:07 |只看该作者
回复 7# drakness


    没赞啊

论坛徽章:
26
2015亚冠之胡齐斯坦钢铁
日期:2015-06-25 21:40:202015亚冠之柏斯波利斯
日期:2015-08-31 17:03:192015亚冠之柏斯波利斯
日期:2015-11-07 13:10:00程序设计版块每日发帖之星
日期:2015-11-10 06:20:00每日论坛发贴之星
日期:2015-11-10 06:20:00程序设计版块每日发帖之星
日期:2015-11-26 06:20:00程序设计版块每日发帖之星
日期:2015-12-02 06:20:00黄金圣斗士
日期:2015-12-07 17:57:4615-16赛季CBA联赛之天津
日期:2015-12-23 18:34:14程序设计版块每日发帖之星
日期:2016-01-02 06:20:00程序设计版块每日发帖之星
日期:2016-01-06 06:20:00每日论坛发贴之星
日期:2016-01-06 06:20:00
9 [报告]
发表于 2015-07-28 21:27 |只看该作者
回复 7# drakness

不会零宽断言
觉得应该可以这样来...
  1. #!/usr/bin/perl
  2. use 5.018;
  3. while (<DATA>) {
  4.     my @PATS = /\d([A-Z]+(?:_[A-Z]+)*_[A-Z]+)Row/g;
  5.     say join( "  ", @PATS );
  6. }

  7. __DATA__
  8. 45SD123SD123TP_X_ACTRow-X (SX)ad45SD123SD123FK_T_ASTRow-X (SX)wwwad45SD123SD123TI_TY_ACTRow-X (SX)wwwad
  9. 45SD123SD123TOT_ACTOSRow-X (SX)ad45SD123SD123TL_QT_ATCTRow-X (SX)wwwad45SD123SD123TP_T_ACTRow-X (SX)wwwad
  10. 45SD123SD123TP_T_ACTRow-X (SX)ad45SD123SD123TP_T_ACTRow-X (SX)wwwad45SD123SD123TP_T_ACTRow-X (SX)wwwad
复制代码
分享一个笑话
LZ不要生气哦

寻找解决方案的提问艺术 http://bbs.chinaunix.net/thread-4118053-1-1.html

Q) 我怎么...?
A) 你可以这样...
Q) 哦,这个数据是不确定的
A) 数据是?
Q) 数据是...
A) 哦,了解,那我的方法不对,你可以这样来...
Q) 哦,不好意思,那我的数据要复杂得多
A) 哦,那重新描述问题吧
B) 哦,赞一个
Q) 没看出来这个赞,赞的是什么?
Q) 数据是这样的...
A) 哦,那我的方法还是不对,这样吧...
Q) 不好意思哦,我上面只是举例..不是实际情况中数据
A) 到底实际数据是什么?你到底要干什么?@#$$%

....  N天后       

Q) 这帖子沉到底了。顶上来。
Q) 沉底了,顶上来呀。
Q) 请允许俺再顶上来 ...
Q) 顶,再顶上来,期待回复 I N G 。。。。。
Q) 如果大伙有时间帮忙顶上来。
C) 你妹!这事老顶上来?
Q) 跟我一起顶上来呀。。。。。
Q) 沉底了呀,我再顶。
Q) 救命呀。。。。
   

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
10 [报告]
发表于 2015-07-28 22:10 |只看该作者
本帖最后由 MMMIX 于 2015-07-28 22:10 编辑
substr函数 发表于 2015-07-28 21:27
回复 7# drakness

不会零宽断言

http://bbs.chinaunix.net/forum.p ... mp;fromuid=20342513
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP