详情页标题前

阿里云日志服务SLS正则表达式函数-云淘科技

详情页1

本文介绍正则表达式函数的语法规则,包括参数解释、函数示例等。

函数列表

类型 函数 说明
提取函数 regex_select 根据正则表达式提取符合条件的值。
regex_findall 根据正则表达式获得符合条件的所有值列表。
匹配判断 regex_match 判断是否匹配正则表达式。
替换 regex_replace 根据正则表达式替换字符串中的指定字符。
切分 regex_split 将一个字符串分割成字符串数组。

regex_select

根据正则表达式提取符合条件的值。

  • 函数格式

    regex_select(value, r"regular expression", mi=None, gi=None)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value 任意 填入要匹配的值。
    regular expression String 匹配的正则表达式。
    mi int 表示匹配到的第几个表达式,默认None和0,表示第一个。
    gi int 表示匹配到的第几个分组,默认None和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中符合正则表达式的第一个和第二个的值。
      • 原始日志
        str: abc123 xyz456
      • 加工规则
        # 提取字段str中符合正则表达式的第一个值。
        e_set("regex", regex_select(v("str"), r"\d+"))
        # 提取字段str中符合正则表达式的第二个值。
        e_set("regex2", regex_select(v("str"), r"\d+", mi=1))
      • 加工结果
        regex:   123
        regex2:  456
        str: abc123 xyz456
    • 示例3
      • 原始日志
        str: abc123 xyz456
      • 加工规则
        # 提取字段str中符合正则表达式的第一个表达式的第一个分组的值。
        e_set("regex", regex_select(v("str"),r"[a-z]+(\d+)",gi=0))
        # 提取字段str中符合正则表达式的第二个表达式的第一个分组的值。
        e_set("regex2", regex_select(v("str"),r"[a-z]+(\d+)",mi=1,gi=0))
        # 提取字段str中符合正则表达式的第一个表达式的第一个分组的值。
        e_set("regex3", regex_select(v("str"),r"([a-z]+)(\d+)",gi=0))
        # 提取字段str中符合正则表达式的第一个表达式的第二个分组的值。
        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

根据正则表达式获得符合条件的所有值的一个列表。

  • 函数格式

    regex_findall(value, r"regular expression")
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value 任意 要匹配的值。
    regular expression 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

判断是否匹配正则表达式。

  • 函数格式

    regex_match(value, r"regular expression", full=False)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value 任意 要匹配的值。
    regular expression String 正则表达式。
    full Bool 是否完全匹配,默认为False。
  • 返回结果

    返回True或者False。

  • 函数示例

    判断字段str是否包含数字。

    • 原始日志
      str: iZbp1a65x3r1vhpe94fi2qZ
    • 加工规则
      # 判断字段str是否包含数字。
      e_set("regex_match", regex_match(v("str"),r"\d+"))
      # 判断字段str是否全部为数字。
      e_set("regex_match2", regex_match(v("str"),r"\d+",full=True))
    • 加工结果
      str: iZbp1a65x3r1vhpe94fi2qZ
      regex_match:  True
      regex_match2:  False

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
      • 加工规则
        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代表第二个分组,即(\d{4})
      • 加工结果
        iphone: 13900001234
        sec_iphone: 139****1234

regex_split

将一个字符串分割成字符串数组。

  • 函数格式

    regex_split(value, r"regular expression", maxsplit=0)
  • 参数说明

    参数名称 参数类型 是否必填 说明
    value 任意 要分裂的值。
    regular expression 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"]

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/162381.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云ECS云服务器接收抢占式实例中断事件-云淘科技

    阿里云云监控提供强大的资源监控功能,您可以通过云监控实时监控抢占式实例的中断事件,并在发生事件报警时通过您指定的报警方式接收到抢占式实例中断事件。 背景信息 抢占式实例具有被中断的风险,实例在完全中断的前5分钟会触发中断事件。如果您的业务对实例中断敏感,则需要注意及时接收抢占式实例的中断事件,并对实例进行处理。本文主要提供了基于消息服务MNS或函数计算接收中…

    2023年12月9日
  • 阿里云大数据开发治理平台 DataWorks创建Aviator函数-云淘科技

    本文将为您介绍如何创建Aviator函数。 前提条件 已创建完成业务流程,详情请参见创建并管理业务流程。 已购买独享数据服务资源组,详情请参见新增和使用独享数据服务资源组。 说明 Aviator函数需要运行在独享数据服务资源组中。 背景信息 您可以在数据服务中创建函数、测试函数、发布函数,发布后的函数可被进一步关联至API,作为API的过滤器,对API的请求…

    2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云云原生大数据计算服务 MaxComputeCREATE SQL FUNCTION-云淘科技

    SQL语言定义函数作为一种用户自定义函数(UDF),弥补了MaxCompute只能用Java或Python创建UDF的不足,还扩展了UDF入参的参数类型,可支持函数类型的入参参数,提升表达业务逻辑的灵活性。SQL UDF支持永久UDF和临时UDF,本文为您介绍通过CREATE SQL FUNCTION命令创建的永久SQL UDF详情。 注意事项 使用SQL定…

  • 阿里云RDS数据库CreateSecret – 创建用户凭证-云淘科技

    该接口用于创建Data API用户凭证。 接口说明 适用引擎 RDS MySQL 调试 您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。 调试调试授权信息当前API暂无授权信息透出。请求参数名称类型必填描述示例值ClientTokenstring否用于保证…

    阿里云数据库 2023年12月9日
  • 阿里云云原生大数据计算服务 MaxCompute转义字符-云淘科技

    在MaxCompute中转义字符用来表达字符串中的特殊字符或将其后跟的字符解释为其本身。本文为您介绍MaxCompute中转义字符的使用场景和使用示例。 转义字符使用场景 在编程领域几乎所有的字符串表示都会遇到转义字符的问题,而解决思路也都是类似的: 首先制定一个规则,规定一些有特殊含义的字符,例如’、 “。 然后对这些特殊含义的字符以及不可见字符做特殊处理…

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。