建置 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 不需要符合整個日誌。