找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2749|回复: 4

[求助] 关于正则表达式匹配多组数字,存储在list的方法

1

主题

1

帖子

1

积分

贫民

积分
1
长伊 发表于 2021-7-5 16:10:31 | 显示全部楼层 |阅读模式
7威望
先看下一个txt文件里面的原始数据:
10:37:15.725  站点: 7068 ,新增:1210317064 67 7068
10:37:15.725  站点: 1210317064 67 7068 ,新增:1210317064 67 7068
10:37:15.725  站点: 1210317068 67 1210317064 ,新增:1210317064 67 7068
10:37:15.726  站点: 1210317064 7068 67 1210317066:1210317064 67 7068
10:37:15.726  站点: 67 7068 ,新增:1210317064 67 7068

我的目标就是将【站点】和【新增】中间的数字以空格分开提取出来放到列表里面,,新增后面的数据不做统计,站点和新增之间有1~4组数据,每个数据都要分开,格式如下!!!!【其余格式不好统计】

提取中间的数字的位数并不规范,有1-10位,比如7068就是四位,67就是两位,1210317064就是十位,都要分开
红色格式都是不符合的,绿色才可以。

我的原始代码为:

regex1=re.compile(r'.*'+'站点: '+'(\d+\s\d+\s\d+\s\d+|\d+\s\d+\s\d+|\d+\s\d+|\d+)')

result1=regex1.findall(result)

print(restlt1)
参考意义并不大,希望大佬帮帮忙




回复

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2021-7-15 22:20:52 来自手机 | 显示全部楼层
假设string是你的一条记录
回复

使用道具 举报

1419

主题

1891

帖子

291

积分

侠客

积分
291

最佳新人热心会员默默耕耘

whydo1 发表于 2021-7-15 22:23:47 来自手机 | 显示全部楼层
result=string.split('站点:')[1].split('新增')[0].split(' ')
回复

使用道具 举报

0

主题

22

帖子

22

积分

贫民

积分
22
lazycat79 发表于 2021-7-22 17:01:45 | 显示全部楼层
  1. string = """
  2. 10:37:15.725  站点: 7068 ,新增:1210317064 67 7068
  3. 10:37:15.725  站点: 1210317064 67 7068 ,新增:1210317064 67 7068
  4. 10:37:15.725  站点: 1210317068 67 1210317064 ,新增:1210317064 67 7068
  5. 10:37:15.726  站点: 1210317064 7068 67 1210317066:1210317064 67 7068
  6. 10:37:15.726  站点: 67 7068 ,新增:1210317064 67 7068
  7. """

  8. for i in re.findall(r'站点: ([0-9 ]+) ,新增', string):
  9.         print(i.split(' '))
复制代码
回复

使用道具 举报

0

主题

12

帖子

12

积分

贫民

积分
12
alexru298 发表于 2021-7-24 15:58:28 | 显示全部楼层
  1. import re
  2. string = """
  3. 10:37:15.725 站点: 7068 ,新增:1210317064 67 7068
  4. 10:37:15.725 站点: 1210317064 67 7068 ,新增:1210317064 67 7068
  5. 10:37:15.725 站点: 1210317068 67 1210317064 ,新增:1210317064 67 7068
  6. 10:37:15.726 站点: 1210317064 7068 67 1210317066:1210317064 67 7068
  7. 10:37:15.726 站点: 67 7068 ,新增:1210317064 67 7068
  8. """

  9. for i in re.findall(r'站点: ([0-9]+) ,新增', string):
  10.     print(i.split(' '))
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表