このトピックでは、正規表現関数の構文とパラメーターについて説明します。 このトピックでは、関数の使用方法の例も示します。
関数
カテゴリー | 機能 | 説明 |
値の抽出 | 正規表現に一致する値を抽出します。 | |
正規表現に一致するすべての値のリストを抽出します。 | ||
評価 | 値が正規表現と一致するかどうかをチェックします。 | |
交換 | 文字列の正規表現に一致する文字を置き換えます。 | |
分割 | 文字列を文字列の配列に分割します。 |
regex_select
regex_select関数は、正規表現に一致する値を抽出します。
構文
regex_select(value, r"regular expression", mi=None, gi=None)
パラメーター
項目
データ型
必須/任意
説明
value
任意
〇
入力値。
正規表現
String
必須
正規表現。
mi
int
いいえ
入力値で一致した値のシーケンス番号が返されます。 デフォルト値: なしと0。 デフォルト値は、一致する最初の値が返されることを示します。
gi
int
いいえ
正規表現でのマッチングに使用されるグループのシーケンス番号。 デフォルト値: なしと0。 デフォルト値は、最初のグループが使用されることを示します。
レスポンス
抽出された値が返されます。
例
例1: strフィールドから正規表現に一致する最初の値を抽出します。
生ログ
str: iZbp1a65x3r1vhpe94fi2qZ
変換ルール
e_set("regex", regex_select(v("str"), r"\d+")) e_set("regex2", regex_select(v("str"), r"\d+", mi=None)) e_set("regex3", regex_select(v("str"), r"\d+", mi=0))
結果
regex:1 regex2:1 regex3:1 str:iZbp1a65x3r1vhpe94fi2qZ
例2: strフィールドから正規表現に一致する1番目と2番目の値を抽出します。
生ログ
str: abc123 xyz456
変換ルール
# Extract the first value that matches the regular expression from the str field. e_set("regex", regex_select(v("str"), r"\d+")) # Extract the second value that matches the regular expression from the str field. e_set("regex2", regex_select(v("str"), r"\d+", mi=1))
結果
regex: 123 regex2: 456 str: abc123 xyz456
例 3
生ログ
str: abc123 xyz456
変換ルール
# Extract the first value that matches the first group in the regular expression from the str field. e_set("regex", regex_select(v("str"),r"[a-z]+(\d+)",gi=0)) # Extract the second value that matches the first group in the regular expression from the str field. e_set("regex2", regex_select(v("str"),r"[a-z]+(\d+)",mi=1,gi=0)) # Extract the first value that matches the first group in the regular expression from the str field. e_set("regex3", regex_select(v("str"),r"([a-z]+)(\d+)",gi=0)) # Extract the first value that matches the second group in the regular expression from the str field. e_set("regex4", regex_select(v("str"),r"([a-z]+)(\d+)",gi=1))
結果
str: abc123 xyz456 regex: 123 regex2: 456 regex3: abc regex4: 123
regex_findall
The regex_findall function extracts the list of all values that match a regular expression.
構文
regex_findall(value, r"regular expression")
パラメーター
項目
データ型
必須/任意
説明
value
任意
〇
入力値。
正規表現
String
必須
正規表現。
レスポンス
正規表現に一致するすべての値のリストが返されます。
例
strフィールドからすべての数値を抽出します。
生ログ
str: iZbp1a65x3r1vhpe94fi2qZ
変換ルール
e_set("regex_findall", regex_findall(v("str"),r"\d+"))
結果
str: iZbp1a65x3r1vhpe94fi2qZ regex_findall: ["1", "65", "3", "1", "94", "2"]
regex_match
The regex_match function checks whether a value matches a regular expression.
構文
regex_match(value, r"regular expression", full=False)
パラメーター
項目
データ型
必須/任意
説明
value
任意
〇
入力値。
正規表現
String
必須
正規表現。
フル
Bool
いいえ
完全一致を実行するかどうかを指定します。 デフォルト値:False。
レスポンス
値Trueまたは値Falseが返されます。
例
strフィールドに数値が含まれているかどうかを確認します。
生ログ
str: iZbp1a65x3r1vhpe94fi2qZ
変換ルール
# Check whether the str field contains numbers. e_set("regex_match", regex_match(v("str"),r"\d+")) # Check whether the str field contains only numbers. e_set("regex_match2", regex_match(v("str"),r"\d+",full=True))
結果
str: iZbp1a65x3r1vhpe94fi2qZ regex_match: True regex_match2: False
regex_replace
The regex_replace function replaces the characters that match a regular expression in a string.
構文
regex_replace(value, r"regular expression", replace="", count=0)
パラメーター
項目
データ型
必須/任意
説明
value
任意
〇
置き換えたい文字の入力値。
正規表現
String
必須
正規表現。
replace
String
任意
入力値の一致した文字を置き換えるために使用する文字。 このパラメーターはデフォルトでは空で、一致した文字が削除されていることを示します。
You can specify a regular expression. Example:
r"\1****\2"
. This value indicates that the output value must match the regular expression.\1
は最初のグループを示します。\2
indicates the second group.
集計
回
いいえ
一致した文字を置き換える回数。 デフォルト値:0 The default value indicates that all matched characters are replaced.
レスポンス
置換後の値が返されます。
例
Example 1: Replace all numbers in the str field with 13.
生ログ
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13
変換ルール
e_set("regex_replace", regex_replace(v("str"),r"\d+",v("replace")))
結果
str: iZbp1a65x3r1vhpe94fi2qZ replace: 13 regex_replace: iZbp13a13x13r13vhpe13fi13qZ
例2: 携帯電話番号の中央に4桁の数字をマスクします。
生ログ
iphone: 13900001234
変換ルール
e_set( "sec_iphone", regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"), )
説明replace=r "\1 ****\2"
は、置換後の値が正規表現r "\1 ****\2"
と一致する必要があることを示します。\1
は最初のグループを示します。 この例では、(\d{0,3})
が最初のグループです。\2
は2番目のグループを示します。 この例では、(\d{4})
が2番目のグループです。
結果
iphone: 13900001234 sec_iphone: 139****1234
regex_split
The regex_split function splits a string into an array of strings.
構文
regex_split(value, r"regular expression", maxsplit=0)
パラメーター
項目
データ型
必須/任意
説明
value
任意
〇
分割する入力値。
正規表現
String
必須
正規表現。
maxsplit
int
いいえ
入力値を分割できる最大回数。 デフォルト値:0 デフォルト値は、一致するすべての文字に基づいて入力値が分割されることを示します。 値1は、入力値が最初に一致した文字のみに基づいて分割されることを示します。
レスポンス
分割後の値を含む配列が返されます。
例
例: strフィールドを数値で分割します。
生ログ
str: iZbp1a65x3r1vhpe94fi2qZ
変換ルール
e_set("regex_split", regex_split(v("str"),r"\d+"))
結果
str: iZbp1a65x3r1vhpe94fi2qZ regex_split: ["iZbp", "a", "x", "r", "vhpe", "fi", "qZ"]