[发明专利]一种正则表达式生成方法、装置、介质及设备有效
申请号: | 202111484491.8 | 申请日: | 2021-12-07 |
公开(公告)号: | CN114385868B | 公开(公告)日: | 2022-09-30 |
发明(设计)人: | 邬闻;黄桂泉;刘兆华;梁天舫 | 申请(专利权)人: | 广东宜通衡睿科技有限公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 麦小婵;郝传鑫 |
地址: | 510000 广东省广州市天河区科*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 表达式 生成 方法 装置 介质 设备 | ||
本发明公开了一种正则表达式生成方法、装置、介质及设备,包括:获取待处理字符串,并获取待处理字符串的原始正则表达式;响应于用户的子串选择指令,获取待处理字符串的若干待选择子串;将若干待选择子串中的第一个待选择子串作为选择子串,对待处理字符串进行分割处理,获得第一子串、第二子串及选择子串;响应于用户的子串类型选择指令,获取选择子串的类型,并根据选择子串的类型,获取对应的待拼接正则表达式生成策略,以根据待拼接正则表达式生成策略得到待拼接正则表达式;将原始正则表达式和待拼接正则表达式依次进行拼接,得到待处理字符串的最终正则表达式。采用本发明实施例能够减少出现误匹配的情况,提高匹配准确率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种正则表达式生成方法、装置、介质及设备。
背景技术
在现有的数据提取技术,利用正则表达式提取是较为常用的方式。一般可以通过正则表达式生成工具如Txt2re来生成正则表达式,但其对结构相近的字符串容易造成误匹配,使得准确率较低。
发明内容
本发明提供一种正则表达式生成方法、装置、介质及设备,以解决现有技术对结构相近的字符串容易造成误匹配的问题,本发明通过增加选择子串的类型选择,能够减少出现误匹配的情况,提高匹配的准确率,并减少性能消耗。
为实现上述目的,本发明实施例提供了一种正则表达式生成方法,包括:
获取待处理字符串,并获取所述待处理字符串的原始正则表达式;
响应于用户的子串选择指令,获取所述待处理字符串的若干待选择子串;
将若干所述待选择子串中的第一个所述待选择子串作为选择子串,并以所述选择子串为界,对所述待处理字符串进行分割处理,获得在所述待处理字符串中的所述选择子串之前的第一子串、所述选择子串之后的第二子串,及所述选择子串;
响应于用户的子串类型选择指令,获取所述选择子串的类型,并根据所述选择子串的类型,获取对应的待拼接正则表达式生成策略,以根据所述待拼接正则表达式生成策略得到待拼接正则表达式;其中,所述选择子串的类型包括期望获取子串及非期望获取子串;
将所述原始正则表达式和所述待拼接正则表达式依次进行拼接,得到所述待处理字符串的最终正则表达式。
作为上述方案的改进,当所述选择子串的类型为所述非期望获取子串时,所述待拼接正则表达式生成策略包括:
判断所述第一子串是否为空,若是,将所述选择子串作为待拼接正则表达式,否则,根据预设的第一规则生成待拼接正则表达式。
作为上述方案的改进,所述根据预设的第一规则生成待拼接正则表达式,包括:
获取所述第一子串中的尾字符,将所述尾字符作为第一分隔符,计算所述第一分隔符在所述第一子串中出现的次数n;
将非所述第一分隔符的通配符与所述第一分隔符作为第三子串,获取限定n次的所述第三子串,以将限定n次的所述第三子串作为待拼接正则表达式。
作为上述方案的改进,当所述选择子串的类型为所述期望获取子串时,所述待拼接正则表达式生成策略包括:
获取所述第二子串的首字符,并将所述首字符作为第二分隔符;
判断所述选择子串中是否包含所述第二分隔符,若否,将非所述第二分隔符的通配符和第二分隔符依次进行拼接,得到第一拼接子串,以将所述第一拼接子串作为待拼接正则表达式,否则,根据预设的第二规则生成待拼接正则表达式。
作为上述方案的改进,所述根据预设的第二规则生成待拼接正则表达式,包括:
计算所述第二分隔符在所述选择子串中出现的次数i;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东宜通衡睿科技有限公司,未经广东宜通衡睿科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111484491.8/2.html,转载请声明来源钻瓜专利网。