[发明专利]一种正则表达式转换方法、装置、设备及存储介质有效
申请号: | 202110742135.5 | 申请日: | 2021-06-30 |
公开(公告)号: | CN113609821B | 公开(公告)日: | 2023-07-18 |
发明(设计)人: | 傅东博 | 申请(专利权)人: | 北京新氧科技有限公司 |
主分类号: | G06F40/151 | 分类号: | G06F40/151;G06F40/211;G06F40/289 |
代理公司: | 北京辰权知识产权代理有限公司 11619 | 代理人: | 尹倩倩 |
地址: | 100102 北京市朝阳区创远路*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 表达式 转换 方法 装置 设备 存储 介质 | ||
1.一种正则表达式转换方法,其特征在于,包括:
获取原始逻辑表达式;
生成所述原始逻辑表达式对应的层级列表,所述层级列表中包括按照逻辑层级的预设顺序排列的多个子表达式;
根据所述层级列表和预设元字符映射表,将所述原始逻辑表达式转换为对应的正则表达式;
其中,所述生成所述原始逻辑表达式对应的层级列表,包括:
从原始逻辑表达式中获取常量数组和所述常量数组对应的逻辑表达式;根据所述常量数组和所述逻辑表达式,生成所述原始逻辑表达式对应的层级列表;
其中,所述根据所述常量数组和所述逻辑表达式,生成所述原始逻辑表达式对应的层级列表,包括:
将所述逻辑表达式中的常量标识符替换为所述常量数组中对应的常量字符,得到常量逻辑表达式;根据所述常量逻辑表达式包括的各逻辑符号和括号,将所述常量逻辑表达式拆分为多个子表达式;根据所述各逻辑符号的运算优先级和所述多个子表达式,生成所述原始逻辑表达式对应的层级列表;
其中,所述根据所述各逻辑符号的运算优先级和所述多个子表达式,生成所述原始逻辑表达式对应的层级列表,包括:
分别确定每个子表达式中需执行的逻辑符号;根据所述每个子表达式中需执行的逻辑符号的运算优先级及所述每个子表达式中的括号在所述常量逻辑表达式中所处的括号层级,分别确定所述每个子表达式对应的逻辑层级;按照逻辑层级的预设顺序,对所述每个子表达式排序,得到所述原始逻辑表达式对应的层级列表。
2.根据权利要求1所述的方法,其特征在于,所述根据所述层级列表和预设元字符映射表,将所述原始逻辑表达式转换为对应的正则表达式,包括:
根据预设元字符映射表,分别将所述层级列表包括的各子表达式转换为子正则表达式;
将得到的每个所述子正则表达式拼接为所述原始逻辑表达式对应的正则表达式。
3.根据权利要求2所述的方法,其特征在于,所述根据预设元字符映射表,分别将所述层级列表包括的各子表达式转换为子正则表达式,包括:
从所述层级列表中当前层级最高的至少一个子表达式中随机获取一个子表达式;
根据预设元字符映射表,将获取的所述子表达式转换为对应的子正则表达式;
从所述层级列表中删除获取的所述子表达式,返回执行所述从所述层级列表中当前层级最高的至少一个子表达式中随机获取一个子表达式的操作,循环执行直至所述层级列表中不再包含子表达式为止。
4.根据权利要求3所述的方法,其特征在于,所述根据预设元字符映射表,将获取的所述子表达式转换为对应的子正则表达式,包括:
判断获取的所述子表达式中是否包含预设元字符映射表中配置的预设符号;
如果是,则从所述预设元字符映射表中获取所述预设符号对应的元字符及替换规则;
根据所述预设符号对应的所述替换规则,将所述子表达式中的所述预设符号替换为所述预设符号对应的元字符,得到所述子表达式对应的子正则表达式。
5.根据权利要求1所述的方法,其特征在于,所述将所述原始逻辑表达式转换为对应的正则表达式之后,还包括:
对所述原始逻辑表达式对应的正则表达式进行编译;
根据编译后的正则表达式进行文本匹配。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新氧科技有限公司,未经北京新氧科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110742135.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:荷电状态估算方法、计算机设备及计算机存储介质
- 下一篇:一种分级筛选流水线