云日志服务 LTS-正则表达式函数:regex_replace
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:把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:对手机号中间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
- 测试数据
- 示例1:把str中的所有数字用13替换。