Grok的正则表达式,虽然不是太全,但是已经可以满足日志分析的需求。
转载请说明出处,谢谢。
如果有错误请指出,谢谢。
#----------------------------------------------------------------------------------------------------------------------------------------------------------------------
#DavisDing
#2017-09-10
#第一版
| 名字 | 例子 | 正则表达式 |
| IPV4 | null | (?<![0-9])(?:(?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2})[.](?:25[0-5]|2[0-4][0-9]|[0-1]?[0-9]{1,2}))(?![0-9]) |
| IPV6 | null | ((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)? |
| IP | null | (?:%{IPV6:UNWANTED}|%{IPV4:UNWANTED}) |
| 域名 | null | (?:[a-zA-Z0-9]{1,62}(\.[a-zA-Z0-9]{1,62})\.(cn|com|net)) |
| 时间匹配 | 12/Jan/2017:15:39:12 +0800 | (?:\[[01][0-9]/\w{3}/\d{2,4}:\d{1,2}:\d{1,2}:\d{1,2} \+\d{4}\]) |
| URL | null | (?:(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?) |
| null | ||
| host | null | (?:[a-zA-Z0-9]{1,62}(\.[a-zA-Z0-9]{1,62})\.(cn|com|net)) |
| null | null | (?:.*) |
| null | null | (?:\d+) |
| collect time | null | (?:[012][0-9]/\w{3}/\d{2,4}:\d{1,2}:\d{1,2}:\d{1,2}) |
| MZ55 | null | (?:\+\d{4}) |
| http_method | http方法 | (?:\w{3,8}) |
| url | null | (?:/[\\A-Za-z0-9$.+!*'(){},~:;=@#% \[\]_<>^\-&?]*)+ |
| protocol | null | (?:\w{2,8}/.*) |
| status | null | (?:[1-5][01][0-9]) |
| client request size | 客户请求大小 | (?:\d+) |
| collect time | null | (?:[012][0-9]/\w{3}/\d{2,4}:\d{1,2}:\d{1,2}:\d{1,2}) |
| null | null | (?:\w+) |
| null | null | (?:.+/[1-9]{1,2}\.[0-9]{1,2}) |
| dst port | null | (?:[1-9]\d{1,5}) |
| USERNAME | null | [a-zA-Z0-9._-]+ |
| INT | null | (?:[+-]?(?:[0-9]+)) |
| BASE10NUM | 十进制,数字和小数 | (?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\.[0-9]+)?)|(?:\.[0-9]+))) |
| QuotedString | 有引号字符串 | (?>(?<!\\)(?>"(?>\\.|[^\\"]+)+"|""|(?>'(?>\\.|[^\\']+)+')|''|(?>`(?>\\.|[^\\`]+)+`)|``)) |
| HostName | null | \b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:\.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(\.?|\b) |
| MONTH | 英月份 | \b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\b |
| MONTHDAY | 一月的天数 | (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9]) |
| DAY | 英 天 | (?:Mon(?:day)?|Tue(?:sday)?|Wed(?:nesday)?|Thu(?:rsday)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?) |
| YEAR | 年 | (?>\d\d){1,2}) |
| HOUR | 时间,小时 | (?:2[0123]|[01]?[0-9]) |
| MINUTE | 时间,分 | (?:[0-5][0-9]) |
| SECOND | 时间,秒 | (?:(?:[0-5]?[0-9]|60)(?:[:.,][0-9]+)?) |
| Time | null | (?!<[0-9])%{HOUR:UNWANTED}:%{MINUTE:UNWANTED}(?::%{SECOND:UNWANTED})(?![0-9]) |
| commonmac | mac | (?:(?:[A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}) |
| windowsmac | mac | (?:(?:[A-Fa-f0-9]{2}-){5}[A-Fa-f0-9]{2}) |
| ciscomac | mac | (?:(?:[A-Fa-f0-9]{4}\.){2}[A-Fa-f0-9]{4}) |
| word | 任意单词 | \b\w+\b |
| data | 数据 , 任意单词 | .* |
| uuid | null | [A-Fa-f0-9]{8}-(?:[A-Fa-f0-9]{4}-){3}[A-Fa-f0-9]{12} |
| time | 2016-09-08 11:13:19,864,毫秒 | %{YEAR:UNWANTED}-%{MONTHNUM:UNWANTED}-%{MONTHDAY:UNWANTED}[T ]%{HOUR:UNWANTED}:?%{MINUTE:UNWANTED}(?::?%{SECOND:UNWANTED}),?%{NUMBER:UNWANTED} |
| time | yyyy-mm-dd 21:24:30 | %{YEAR:UNWANTED}-%{MONTHNUM:UNWANTED}-%{MONTHDAY:UNWANTED}[T ]%{HOUR:UNWANTED}:?%{MINUTE:UNWANTED}(?::?%{SECOND:UNWANTED}) |
| number | 数字引用base10num | (?:%{BASE10NUM:UNWANTED}) |
| date us | null | %{MONTHNUM:UNWANTED}[/-]%{MONTHDAY:UNWANTED}[/-]%{YEAR:UNWANTED} |
| date eu | null | %{MONTHDAY:UNWANTED}[./-]%{MONTHNUM:UNWANTED}[./-]%{YEAR:UNWANTED} |
| time | mm/dd/yy 16:17:57 CST | %{DATE:UNWANTED} %{TIME:UNWANTED} %{TZ:UNWANTED} |
| tz | cst | (?:[PMCE][SD]T|UTC) |
| date | null | %{DATE_US:UNWANTED}|%{DATE_EU:UNWANTED} |
| time | 时分秒,16:17:57 | (?!<[0-9])%{HOUR:UNWANTED}:%{MINUTE:UNWANTED}(?::%{SECOND:UNWANTED})(?![0-9]) |
| OTHER DATE | Aug 21 23:58:56 10.195.157.179 | %{MONTH:UNWANTED} %{MONTHDAY:UNWANTED} %{TIME:UNWANTED} |
| no have | 不要,不引用 | ?: |
| UNWANTED | 未知,可做key | UNWANTED |
1165

被折叠的 条评论
为什么被折叠?



