[发明专利]一种正则表达式转换方法、装置、设备及存储介质有效
申请号: | 202110742135.5 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113609821B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 傅东博 | 申请(专利权)人: | 北京新氧科技有限公司 |
主分类号: | G06F40/151 | 分类号: | G06F40/151;G06F40/211;G06F40/289 |
代理公司: | 北京辰权知识产权代理有限公司 11619 | 代理人: | 尹倩倩 |
地址: | 100102 北京市朝阳区创远路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 表达式 转换 方法 装置 设备 存储 介质 | ||
本申请提出一种正则表达式转换方法、装置、设备及存储介质,该方法包括:获取原始逻辑表达式;生成原始逻辑表达式对应的层级列表,层级列表中包括按照逻辑层级的预设顺序排列的多个子表达式;根据层级列表和预设元字符映射表,将原始逻辑表达式转换为对应的正则表达式。本申请自动将用户输入的原始逻辑表达式转换为对应的正则表达式。实现自动生成满足用户逻辑需求的正则表达式,生成速度快,准确性高,能够生成逻辑层级多层嵌套的复杂的正则表达式。而且能快速生成大量正则表达式,能够满足线上文本匹配的时效性需求,可以实现字级、词级、句式级等级别随意组合的文本匹配,无需分布匹配,提高了文本匹配效率。
技术领域
本申请属于自然语言处理技术领域,具体涉及一种正则表达式转换方法、装置、设备及存储介质。
背景技术
在自然语言处理技术领域,正则表达式是用来描述、匹配某个句法规则的字符串,常被用于文本检索、文本匹配或文本替换。正则表达式由常量字符和元字符组成,常量字符用于在文本检索、文本匹配或文本替换中匹配文本,元字符用于定义通过常量字符匹配文本时的运算规则。
相关技术中,通常由用户依据需要匹配的文本信息手工书写多个正则表达式形成正则集合,将该正则集合提供给设备,设备依据该正则集合对所需匹配内容进行标准化匹配。
但用户手工书写正则表达式,效率很低,且易出错,依据人工书写的正则表达式进行文本匹配,需要花费很长时间,且准确性不高。
发明内容
本申请提出一种正则表达式转换方法、装置、设备及存储介质,自动将原始逻辑表达式转换为对应的正则表达式。实现自动生成满足用户逻辑需求的正则表达式,生成速度快,准确性高,能快速生成大量正则表达式,满足线上文本匹配的时效性需求。
本申请第一方面实施例提出了一种正则表达式转换方法,包括:
获取原始逻辑表达式;
生成所述原始逻辑表达式对应的层级列表,所述层级列表中包括按照逻辑层级的预设顺序排列的多个子表达式;
根据所述层级列表和预设元字符映射表,将所述原始逻辑表达式转换为对应的正则表达式。
在本申请的一些实施例中,所述生成所述原始逻辑表达式对应的层级列表,包括:
从原始逻辑表达式中获取常量数组和所述常量数组对应的逻辑表达式;
根据所述常量数组和所述逻辑表达式,生成所述原始逻辑表达式对应的层级列表。
在本申请的一些实施例中,所述根据所述常量数组和所述逻辑表达式,生成所述原始逻辑表达式对应的层级列表,包括:
将所述逻辑表达式中的常量标识符替换为所述常量数组中对应的常量字符,得到常量逻辑表达式;
根据所述常量逻辑表达式包括的各逻辑符号和括号,将所述常量逻辑表达式拆分为多个子表达式;
根据所述各逻辑符号的运算优先级和所述多个子表达式,生成所述原始逻辑表达式对应的层级列表。
在本申请的一些实施例中,所述根据所述各逻辑符号的运算优先级和所述多个子表达式,生成所述原始逻辑表达式对应的层级列表,包括:
分别确定每个子表达式中需执行的逻辑符号;
根据所述每个子表达式中需执行的逻辑符号的运算优先级及所述每个子表达式中的括号在所述常量逻辑表达式中所处的括号层级,分别确定所述每个子表达式对应的逻辑层级;
按照逻辑层级的预设顺序,对所述每个子表达式排序,得到所述原始逻辑表达式对应的层级列表。
在本申请的一些实施例中,所述根据所述层级列表和预设元字符映射表,将所述原始逻辑表达式转换为对应的正则表达式,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新氧科技有限公司,未经北京新氧科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110742135.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:荷电状态估算方法、计算机设备及计算机存储介质
- 下一篇:一种分级筛选流水线