re2:在成对定界符之间提取多个字段
re2: extracting multiple fields between paired delimiters
我有一个日志文件。日志文件中的每一行(或记录)都保留以下格式:
tsB{{2020-08-18 15:02:29,793}}tsE,fnB{{standard_task_runner.py}}fnE,lnB{{53}}lnE,lvlB{{INFO}}lvlE
这是我想要做的:
1] 以时间戳为关键字提取 2020-08-18 15:02:29,793
2] 以模块为关键字提取 standard_task_runner.py
3] 提取 53
以行作为关键字
4] 使用 loglvl 作为键提取 INFO
使用 re2 工具,我该怎么做?
我试过的正则表达式:
"(*tsB{{<timestamp>}}tsE) (*fnA{{<module>}}fnB) (*lnB{{<line>}}lnE) (*lvlB<loglvl>lvlE)"
下面的正则表达式将match
- 时间戳
- 脚本名称
- 行
- 日志级别
{{.+?}}
解释
{{
和 }}
匹配文字 {{
和 }}
.+?
将匹配任何字符直到找到 }}
即它会在第一个 }}
处停止
我有一个日志文件。日志文件中的每一行(或记录)都保留以下格式:
tsB{{2020-08-18 15:02:29,793}}tsE,fnB{{standard_task_runner.py}}fnE,lnB{{53}}lnE,lvlB{{INFO}}lvlE
这是我想要做的:
1] 以时间戳为关键字提取 2020-08-18 15:02:29,793
2] 以模块为关键字提取 standard_task_runner.py
3] 提取 53
以行作为关键字
4] 使用 loglvl 作为键提取 INFO
使用 re2 工具,我该怎么做? 我试过的正则表达式:
"(*tsB{{<timestamp>}}tsE) (*fnA{{<module>}}fnB) (*lnB{{<line>}}lnE) (*lvlB<loglvl>lvlE)"
下面的正则表达式将match
- 时间戳
- 脚本名称
- 行
- 日志级别
{{.+?}}
解释
{{
和}}
匹配文字{{
和}}
.+?
将匹配任何字符直到找到}}
即它会在第一个}}
处停止