可以在字段值的文本框中键入正则表达式,以从日志事件中提取字段。
键入的表达式必须使用 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}) |
两个或更多个字母,后跟三到五个数字 |