正则表达式函数
更新时间:2025-11-28
正则表达式函数
简介
本文介绍正则表达式函数的语法规则,包括参数解释、函数示例等。
regex_replace 函数
函数定义
根据正则表达式替换字符串中的指定字符。
语法描述
Text
1regex_replace(value, regex, replace="", count=0)
参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
|---|---|---|---|---|---|
| value | 要被替换的值 | Any | 是 | - | - |
| regex | 正则表达式 | String | 是 | - | - |
| replace | 替换后的新字符。默认为空,表示删除字符 | String | 否 | "" | - |
| count | 替换次数。 默认为0,表示替换所有 | Integer | 否 | 0 | - |
示例
- 示例1
原始日志:
Text
1{"test": "aaaa123"}
加工规则:
Text
1e_set("regex_replace", regex_replace(v("test"), "\d+"))
加工结果:
Text
1{"test": "aaaa123", "regex_replace": "aaaa"}
regex_match 函数
函数定义
判断是否匹配正则表达式。
语法描述
Text
1regex_match(value, regex, full=false)
参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
|---|---|---|---|---|---|
| value | 要匹配的值 | Any | 是 | - | - |
| regex | 正则表达式 | String | 是 | - | - |
| full | 是否完全匹配 | Boolean | 否 | false | - |
示例
- 示例1
原始日志:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ"}
加工规则:
Text
1e_set("regex_match", regex_match(v("str"), "\d+"))
2e_set("regex_match2", regex_match(v("str"), "\d+", full=true))
加工结果:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ", "regex_match": true, "regex_match2": false}
regex_select 函数
函数定义
根据正则表达式提取符合条件的值。
语法描述
Text
1regex_select(value, regex, mi=0, gi=0)
参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
|---|---|---|---|---|---|
| value | 要匹配的值 | Any | 是 | - | - |
| regex | 正则表达式 | String | 是 | - | - |
| mi | 表示匹配到的第几个表达式,默认0,表示第一个 | Integer | 否 | 0 | - |
| gi | 表示匹配到的第几个分组,默认0,表示第一个 | Integer | 否 | 0 | - |
示例
- 示例1
原始日志:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ"}
加工规则:
Text
1e_set("regex_select", regex_select(v("str"), "\d+"))
2e_set("regex_select2", regex_select(v("str"), "\d+", mi=0))
加工结果:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ", "regex_select": 1, "regex_select2": 1}
regex_findall 函数
函数定义
根据正则表达式获得符合条件的所有值的一个列表。
语法描述
Text
1regex_findall(value, regex)
参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
|---|---|---|---|---|---|
| value | 要匹配的值 | Any | 是 | - | - |
| regex | 正则表达式 | String | 是 | - | - |
示例
- 示例1
原始日志:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ"}
加工规则:
Text
1e_set("regex_findall", regex_findall(v("str"), "\d+"))
加工结果:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ", "regex_findall": ["1", "64", "3", "1", "94", "2"]}
regex_split 函数
函数定义
将一个字符串分割成字符串数组。
语法描述
Text
1regex_split(value, regex, maxsplit=0)
参数说明
| 参数名称 | 参数描述 | 参数类型 | 是否必须 | 参数默认值 | 参数取值范围 |
|---|---|---|---|---|---|
| value | 要分裂的值 | Any | 是 | - | - |
| regex | 正则表达式 | String | 是 | - | - |
| maxsplit | 最大分裂匹配次数。默认为0表示全部匹配分裂,如果为1,表示匹配中一个就分裂,剩余不再进行匹配 | Integer | 否 | - | - |
示例
- 示例1
原始日志:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ"}
加工规则:
Text
1e_set("regex_split", regex_split(v("str"), "\d+"))
加工结果:
Text
1{"str": "iZbp1a65x3r1vhpe94fi2qZ", "regex_split": ["1", "64", "3", "1", "94", "2"]}
