Python正则提取日志内容

日志格式如下

[main] INFO com.jzdata.press.core.PressTest - select cs_bill_customer_sk,count(*) from catalog_sales where cs_item_sk =2  group by cs_bill_customer_sk order by cs_bill_customer_sk limit 100; true  2640
[main] INFO com.jzdata.press.core.PressTest - select cs_bill_customer_sk,count(*) from catalog_sales where cs_item_sk =16  group by cs_bill_customer_sk order by cs_bill_customer_sk limit 100; true  282
[main] INFO com.jzdata.press.core.PressTest - select cs_bill_customer_sk,count(*) from catalog_sales where cs_item_sk =13  group by cs_bill_customer_sk order by cs_bill_customer_sk limit 100; true  291
[main] INFO com.jzdata.press.core.PressTest - select cs_bill_customer_sk,count(*) from catalog_sales where cs_item_sk =11  group by cs_bill_customer_sk order by cs_bill_customer_sk limit 100; true  320


需要提取cs_item_sk 以1结尾的并且最后是true的值
代码如下

import re

string = r'cs_item_sk[\s=]*(\d*?1+)\s+.+?true\s*(\d+)$'
# string = r'cs_item_sk'
pattern = re.compile(string)

with open('./src.txt', 'r') as f:
    for line in f.readlines():
        line = line.strip()
        # line = 'where cs_item_sk =997'
        m = pattern.search(line)
        if m is not None:
            print(m.groups())
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,798评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,892评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,501评论 2 59
  • 今天朋友圈被某世相策划的一个营销广告刷屏了。 某世相写出这样的句子: 我买好了30张机票在机场等你,4小时后逃离北...
    露十七阅读 3,567评论 3 9
  • 月夜遐想 凭栏远眺红灯迎, 闪闪繁星拱月明。 静夜诗词难忘记, 思乡切切泪湿巾。
    金赛月阅读 2,338评论 2 6