您可以在文字方塊中輸入欄位值的規則運算式,以從記錄事件中擷取欄位。
輸入的運算式必須使用 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.
邏輯運算子
規則運算式 |
說明 |
^ |
行開頭或在括弧內則非 |
$ |
行結尾 |
() |
封裝 |
[] |
括弧內的一個字元 |
| |
或 |
- |
範圍 |
\A |
字串開頭 |
\Z |
字串結尾 |
例如,如果套用下列規則運算式
規則運算式 |
結果 |
(hello)? |
包含 hello 或不包含 hello |
(a|b|c) |
a 或 b 或 c |
[a-cp] |
a 或 b 或 c 或 p |
world$ |
結尾為 world,不跟隨任何內容 |
表 5.
Lookahead 運算子
規則運算式 |
說明 |
?= |
正 lookahead (包含) |
?!= |
負 lookahead (不包含) |
例如,如果套用下列規則運算式
規則運算式 |
結果 |
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}) |
兩個或多個字母,後面跟隨 3 到 5 個數字 |