【发布时间】:2022-07-22 22:55:19
【问题描述】:
我需要为流利的位创建一个正则表达式这是我尝试过的
Regex ^\[(?<log_time>[^ ][-.\d\+:]+T[:\d]*)([^\]])*?\]\s+(?<severity>[^ ]\w+):\s+(?<message>.*)$
输入是2022-07-20 15:21:31,994 - INFO - Moving to Dashboard
期望的输出:
log_time: 2022-07-20 15:21:31,994
severity: INFO
message: Moving to Dashboard
我怎样才能做到这一点? (在某些时候,我在毫秒之前得到 log_time 但这还不够) 帮助将不胜感激。谢谢
【问题讨论】:
-
试试
^(?<log_time>[0-9-]+ [:0-9,]+)\s+-\s+(?<severity>\w+)\s+-\s+(?<message>.*)(demo) -
您的模式尝试匹配不存在的字符,例如开头的
[和T -
谢谢@WiktorStribiżew,非常感谢,您能否分享任何最好的备忘单来学习正则表达式。
标签: regex ruby fluent-bit