可以在字段值的文本框中键入正则表达式,以从日志事件中提取字段。
键入的表达式必须使用 Java 正则表达式语法。
表 1.
字符运算符
| 正则表达式 |
描述 |
| \ |
对特殊字符进行转义处理 |
| \b |
单词边界 |
| \B |
不是单词边界 |
| \d |
一个数字 |
| \D |
一个非数字 |
| \n |
换行符 |
| \r |
回车符 |
| \s |
一个空格 |
| \S |
除空格之外的任何字符 |
| \t |
选项卡 |
| \w |
一个字母数字或下划线字符 |
| \W |
一个非字母数字或下划线字符 |
|
|
例如,如果您具有字符串 1234-5678 并应用以下正则表达式
| 正则表达式 |
结果 |
| \d |
1 |
| \d+ |
1234 |
| \w+ |
1234 |
| \S |
1234-5678 |
表 2.
限定符运算符
| 正则表达式 |
描述 |
| . |
除换行符之外的任何字符 |
| * |
零个或多个尽可能长的字符 |
| ? |
零个或一个字符或尽可能短的字符 |
| + |
一个或多个 |
| {<n>} |
恰好 <n> 次 |
| {<n>,<m>} |
<n> 至 <m> 次 |
例如,如果您具有字符串 aaaaa 并应用以下正则表达式
| 正则表达式 |
结果 |
| . |
a |
| * |
aaaaa |
| .*? |
aaaaa |
| .{1} |
a |
| .{1,2} |
aa |
表 3.
组合运算符
| 正则表达式 |
描述 |
| .* |
任意内容 |
| .*? |
前面为尽可能短的任意内容 |
例如,如果您具有字符串 a b 3 hi d hi 并应用以下正则表达式
| 正则表达式 |
结果 |
| a.* hi |
b 3 hi d |
| a .*? hi |
b 3 |
表 4.
逻辑运算符
| 正则表达式 |
描述 |
| ^ |
行首(如果在括号中,则不是) |
| $ |
行尾 |
| () |
封装 |
| [] |
一个在括号中的字符 |
| | |
OR |
| - |
范围 |
| \A |
字符串开头 |
| \Z |
字符串结尾 |
例如,如果应用以下正则表达式
| 正则表达式 |
结果 |
| (hello)? |
包含或不包含 hello |
| (a|b|c) |
a 或 b 或 c |
| [a-cp] |
a 或 b 或 c 或 p |
| world$ |
以 world 结尾,后面没有其他内容 |
表 5.
前向运算符
| 正则表达式 |
描述 |
| ?= |
肯定性前向(包含) |
| ?!= |
否定性前向(不包含) |
例如,如果应用以下正则表达式
| 正则表达式 |
结果 |
| is (?=\w+)\w{2} primary |
is FT primary? false |
| opid=(?!WFU-1fecf8f9)\S+ |
WFU-3c9bb994 |
表 6.
其他正则表达式示例
| 正则表达式 |
描述 |
| [xyz] |
x、y 或 z |
| (info|warn|error) |
info、warn 或 error |
| [a-z] |
一个小写字母 |
| [^a-z] |
不是小写字母 |
| [a-z]+ |
一个或多个小写字母 |
| [a-z]* |
零个或多个小写字母 |
| [a-z]? |
零个或一个小写字母 |
| [a-z] {3} |
恰好三个小写字母 |
| [\d] |
一个数字 |
| \d+$ |
一个或多个数字,后跟消息结尾 |
| [0-5] |
0 到 5 之间的一个数字 |
| \w |
一个单词字符(字母、数字或下划线) |
| \s |
空格 |
| \S |
除空格之外的任何字符 |
| [a-zA-Z0-9]+ |
一个或多个字母数字字符 |
| ([a-z] {2,} [0-9] {3,5}) |
两个或更多个字母,后跟三到五个数字 |