正则表达式提取关键字

时间:2020-06-16 15:44:15

标签: python regex file parsing logging

我正在尝试编写一个Python脚本,以帮助解析日志文件以基于唯一ID 搜索时间戳。文件很长,我尝试过的技巧会选择关键字行上方的所有内容。理想情况下,我希望在其后附加一个关键字(ID)和一个匹配的正则表达式,以实现最大的清晰度;我将尝试使用Python来实现。但是我可以问一下是否有人可以帮助我改善以下代码的正则表达式。 正则表达式尝试,选择 _id 上方的所有内容

((.*\n){2}).*8355371640847

相关代码:

 ...
    ...
    ..
    ..
    _ommited everythig: *ignore everything beyond*
    createTime: 2020-06-03T16:01:35.812Z --only this line to be selected
    employee:
      _id: 835537164084782 -- ID that is used as a reference to return 'createTime' two lines above
      code: null
      ...
      ...
      ...

3 个答案:

答案 0 :(得分:0)

尝试一下 (([[^ \ n] \ n [^ \ n] \ n))。* 8355371640847

答案 1 :(得分:0)

早上好, 我不知道我肯定尝试了多次。但是代码:

((.*\n){2}).*8355371640847

精打细算地完成工作;确实会选择行,该行位于搜索字符串上方两行。昨天,相同的字符串选择了 everything ,但是它可能不得不做一些复制/粘贴数据库转储的事情。

谢谢。

答案 2 :(得分:0)

希望您正在尝试获取

sp_executesql

输出为: ['createTime:2020-06-03T16:01:35.812Z-仅选择此行\ n员工:\ n'] ['createTime:2020-06-03T16:01:35.812Z-仅选择此行\ n']