python正则表达式匹配文本_正则表达式匹配两个字符串之间的所有文本

我当前正在分析具有以下结构的日志文件:

1)时间戳,前接#字符,后接\n

2)任意#在该时间戳之后发生的事件,所有事件都后跟\n

3)重复。。在

这是一个exmaple:#100

04!

03!

02!

#1299

0L

0K

0J

0E

#1335

06!

0X#

0[#

b1010 Z$

b1x [$

...

请原谅这些看似神秘的值,它们是代表某些“事件”的编码。在

注意:事件编码也可以使用#字符。

我要做的是数数在某个时间发生的事件的数量。在

换句话说,在时间100时,发生了3起事件。在

我试图匹配两个时间戳之间的所有文本,并通过简单地计算匹配文本中包含的新行数来计算事件数。在

我使用Python的regex引擎,并使用以下表达式:

pattern = re.compile('(#[0-9]{2,}.*)(?!#[0-9]+)')

注意:{2,}是因为我需要至少两位数字的时间戳。在

我匹配一个时间戳,继续匹配任何其他字符,直到找到另一个时间戳-结束匹配。在

它返回的结果是:

^{pr2}$

所以,我得到了时间戳-但没有事件数据-我真正关心的!在

我想这是因为消极的背后看是“贪婪的”——但我不完全确定。在

可能有一个完全不同的正则表达式,使这更简单-开放的任何建议!在

非常感谢任何帮助!在

-千

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值