すべてのプロダクト
Search
ドキュメントセンター

Simple Log Service:正規表現関数

最終更新日:Aug 28, 2024

このトピックでは、正規表現関数の構文とパラメーターについて説明します。 このトピックでは、関数の使用方法の例も示します。

関数

カテゴリー

機能

説明

値の抽出

regex_select

正規表現に一致する値を抽出します。

regex_findall

正規表現に一致するすべての値のリストを抽出します。

評価

regex_match

値が正規表現と一致するかどうかをチェックします。

交換

regex_replace

文字列の正規表現に一致する文字を置き換えます。

分割

regex_split

文字列を文字列の配列に分割します。

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"]