我有当前要解析的日志文件。
Jan 12 2019, 14:51:23, 117, 10.0.0.1, neil.armstrong, standard-users, -, TCP_Connect, "sports betting", -, 201, accept, GET, text, https, www.best-site.com, 443, /pages/home.php, ?user=narmstrong&team=wizards, -, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome Safari/537.36", 192.168.1.1, 1400, 1463, -, -, -
Jan 12 2019, 14:52:14, 86, 10.0.0.1, neil.armstrong, standard-users, -, TCP_Connect, "sports betting", -, 200, accept, POST, text, https, www.upload.best-site.com, 443, /, -, -, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537", 192.168.1.1, 230056, 600, -, -, -
Jan 12 2019, 14:52:54, 118, 10.0.0.1, neil.armstrong, standard-users, -, TCP_Connect, "sports betting", -, 200, accept, GET, text/javascript, http, google.fr, 80, /search, ?q=wizards, -, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537", 192.168.1.1, 1717, 17930, -, -, -
这是我当前正在使用的正则表达式https://regex101.com/r/Asbpkx/3,它可以很好地解析日志文件,直到达到"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/ Safari/537"
,然后在(KHTML, =like Gecko)
处拆分
我该如何完成正则表达式,以免发生这种情况?
答案 0 :(得分:0)
您似乎正在尝试使用正则表达式解析csv。
使用本文中描述的正则表达式: https://stackoverflow.com/a/18147076/9397882
正则表达式:(?:^|,)(?=[^"]|(")?)"?((?(1)[^"]*|[^,"]*))"?(?=,|$)
答案 1 :(得分:0)
请勿将正则表达式用于CSV。试试这些props.conf设置。
[mysourcetype]
INDEXED_EXTRACTIONS = CSV
FIELD_DELIMITED = ,
FIELD_QUOTE = "
FIELD_NAMES = Date, Time, Field3, IP_Addr, Field4, Field5, Field6
TIMESTAMP_FIELDS = Date, Time
答案 2 :(得分:0)
我仔细研究了一下,日志文件不是CSV格式,这就是为什么CSV解析正则表达式在我先前的回答中不起作用的原因。 (我还尝试使用excel和python csv对其进行解析,并且两者均在'KHTML'之后以逗号分隔。
在后面使用负数可以使您正确解析该示例。
(.+?)(?<!KHTML),