[发明专利]一种正则表达式生成方法、装置、介质及设备有效
申请号: | 202111484491.8 | 申请日: | 2021-12-07 |
公开(公告)号: | CN114385868B | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 邬闻;黄桂泉;刘兆华;梁天舫 | 申请(专利权)人: | 广东宜通衡睿科技有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 麦小婵;郝传鑫 |
地址: | 510000 广东省广州市天河区科*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 表达式 生成 方法 装置 介质 设备 | ||
1.一种正则表达式生成方法,其特征在于,包括:
获取待处理字符串,并获取所述待处理字符串的原始正则表达式;
响应于用户的子串选择指令,获取所述待处理字符串的若干待选择子串;
将若干所述待选择子串中的第一个所述待选择子串作为选择子串,并以所述选择子串为界,对所述待处理字符串进行分割处理,获得在所述待处理字符串中的所述选择子串之前的第一子串、所述选择子串之后的第二子串,及所述选择子串;
响应于用户的子串类型选择指令,获取所述选择子串的类型,并根据所述选择子串的类型,获取对应的待拼接正则表达式生成策略,以根据所述待拼接正则表达式生成策略得到待拼接正则表达式;其中,所述选择子串的类型包括:期望获取子串及非期望获取子串;
将所述原始正则表达式和所述待拼接正则表达式依次进行拼接,得到所述待处理字符串的最终正则表达式;
其中,当所述选择子串的类型为所述非期望获取子串时,所述待拼接正则表达式生成策略包括:
判断所述第一子串是否为空,若是,将所述选择子串作为待拼接正则表达式,否则,根据预设的第一规则生成待拼接正则表达式;
当所述选择子串的类型为所述期望获取子串时,所述待拼接正则表达式生成策略包括:
获取所述第二子串的首字符,并将所述首字符作为第二分隔符;
判断所述选择子串中是否包含所述第二分隔符,若否,将非所述第二分隔符的通配符和第二分隔符依次进行拼接,得到第一拼接子串,以将所述第一拼接子串作为待拼接正则表达式,否则,根据预设的第二规则生成待拼接正则表达式;
所述根据预设的第一规则生成待拼接正则表达式,包括:
获取所述第一子串中的尾字符,将所述尾字符作为第一分隔符,计算所述第一分隔符在所述第一子串中出现的次数n;
将非所述第一分隔符的通配符与所述第一分隔符作为第三子串,获取限定n次的所述第三子串,以将限定n次的所述第三子串作为待拼接正则表达式;
所述根据预设的第二规则生成待拼接正则表达式,包括:
计算所述第二分隔符在所述选择子串中出现的次数i;
将非所述第二分隔符的通配符与所述第二分隔符作为第四子串,获取限定i次的所述第四子串,将限定i次的所述第四子串与所述第二分隔符依次进行拼接,得到第二拼接子串,以将所述第二拼接子串作为待拼接正则表达式。
2.如权利要求1所述的正则表达式生成方法,其特征在于,在将所述原始正则表达式和所述待拼接正则表达式依次进行拼接,得到所述待处理字符串的最终正则表达式之后,还包括:
判断所述第二子串是否还包含任一所述待选择子串,若是,将所述第二子串作为所述待处理字符串,以对所述第二子串进行下一次迭代处理,否则,输出所述最终正则表达式。
3.如权利要求1所述的正则表达式生成方法,其特征在于,所述获取待处理字符串,并获取所述待处理字符串的原始正则表达式,包括:
获取待处理字符串,并判断所述待处理字符串的类型;
当判断到所述待处理字符串为初始输入的待处理字符串时,所述待处理字符串的原始正则表达式为空;
当判断到所述待处理字符串为经过迭代处理的待处理字符串时,所述待处理字符串的原始正则表达式为所述最终正则表达式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东宜通衡睿科技有限公司,未经广东宜通衡睿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111484491.8/1.html,转载请声明来源钻瓜专利网。