建置 RegEx 表示式
在 IBM® Cloud Logs中,您可以在檢索資料以進行搜尋之前套用 RegEx 表示式,以使用剖析規則來控制資料結構。
IBM Cloud Logs 使用 Golang 風味。RegEx
RegEx 模式是區分大小寫的。
限量元
| 量詞 | 符合 |
|---|---|
* |
0 個以上符合前一個字元或順序。 |
? |
0 或 1 符合前一個字元或順序。 |
+ |
前一個字元或序列的 1 個以上相符項。 |
{N} |
完全符合前一個字元的 N 倍。 |
{N,} |
符合前一個字元 N 次以上。 |
{N,Z} |
符合介於 N 和 Z 之間的前一個字元。 |
字元
| 字元 | 符合 |
|---|---|
. |
符合每個單一字元。 |
.* |
符合任何項目。 |
\d |
符合 1 個單一數字。 |
\d* |
符合 N 位數。 |
\D |
符合數字以外的任何符號。 |
\w |
符合任何字母、數字或底線。 |
\W |
符合任何不是字母、數字或底線的字元。 |
\s |
符合空格字元。 |
\S |
符合空格、定位點、換行或歸位字元以外的任何字元。 |
\s* |
符合 N 個空格字元。 |
\S |
符合任何非空格的字元。 |
\S* |
符合非空格的 N 個字元。 |
錨點
| 錨點 | 符合 |
|---|---|
\b |
定義單字界限。 |
^ |
符合字串或行的開頭。 |
$ |
匹配字串或行的結尾。 |
分組
| 分組 | 符合 |
|---|---|
[ ] |
代表一組字元。 |
( ) |
用來將型樣分組。 |
[abcd...] |
符合方括弧內包含的 1 個字元。 |
[a-z] |
符合 a 到 z 範圍內的 1 個字元。 |
[^a-z] |
符合 1 個不在 a 到 z 範圍內的字元。 |
[....]+ |
符合方括弧內所列字元的 1 個以上字元。 |
[....]? |
符合方括弧內所列字元的 1 或 0 個字元。 |
[^"]* |
符合 N 個字元,但雙引號除外。 |
[^"\s]* |
符合 N 個字元,但雙引號和空格除外。 |
[^.]* |
符合 0 個以上非點。 |
具名擷取群組
您可以在 RegEx 表示式中使用具名擷取群組,從日誌記錄中的現有資料定義新欄位。
擷取群組的格式如下:
(?P<fieldName>RegularExpression)
其中
-
?P代表擷取群組的開頭。 -
fieldName必須設為要新增的欄位名稱。 -
RegularExpression代表定義新欄位值的 RegEx。RegEx 不需要符合整個日誌。