云日志服务 LTS-正则表达式函数:regex_replace

时间:2025-03-03 16:33:03

regex_replace

根据正则表达式替换字符串中的指定字符。

  • 函数格式
    regex_replace(value, r"regular expression", replace="", count=0)
  • 参数说明

    参数名称

    参数类型

    是否必填

    说明

    value

    任意

    要被替换的值。

    regular expression

    String

    正则表达式。

    replace

    String

    替换后的新字符。默认为空,表示删除字符。

    支持正则表达式,例如r"\1****\2",表示替换后的字符串要满足该正则表达式。

    • \1代表第一个分组。
    • \2代表第二个分组。

    count

    Number

    替换次数。 默认为0,表示替换所有。

  • 返回结果

    返回替换后的新字符串。

  • 函数示例
    1. 示例1:把str中的所有数字用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. 示例2:对手机号中间4位数字进行脱敏处理。
      • 测试数据
        {
         "iphone": "13900001234"
        }
      • 加工规则
        • replace=r"\1****\2"表示替换后的字符串要满足正则表达式r"\1****\2"。
        • \1代表第一个分组,即(\d{0,3})。
        • \2代表第二个分组,即(\d{4})。
        e_set(
            "sec_iphone",
            regex_replace(v("iphone"), r"(\d{0,3})\d{4}(\d{4})", replace=r"\1****\2"),
        )
      • 加工结果
        iphone: 13900001234
        sec_iphone: 139****1234
support.huaweicloud.com/usermanual-lts/lts_07_0153.html