[发明专利]一种正则表达式匹配的方法、系统及设备有效
申请号: | 201811277431.7 | 申请日: | 2018-10-30 |
公开(公告)号: | CN109408682B | 公开(公告)日: | 2021-03-23 |
发明(设计)人: | 邵宛岩;范渊;刘博;龙文洁 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F16/9032 | 分类号: | G06F16/9032 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 正则 表达式 匹配 方法 系统 设备 | ||
本申请公开了一种正则表达式匹配的方法,包括:接收输入的逻辑表达式;获取逻辑表达式中的各条件编码;加载条件库,并确定各条件编码在条件库中对应的条件;利用各条件编码对应的条件对待匹配数据进行匹配,得到各条件匹配结果;根据各条件匹配结果确定逻辑表达式的匹配结果。本申请所提供的技术方案,在面对不同的应用场景时,不需要重新为正则表达式设置条件,避免了重新设计字符串匹配结构的麻烦,降低了正则表达式的维护难度。本申请同时还提供了一种正则表达式匹配的系统、设备及计算机可读存储介质,具有上述有益效果。
技术领域
本申请涉及正则表达式匹配领域,特别涉及一种正则表达式匹配的方法、系统、设备及计算机可读存储介质。
背景技术
正则表达式是对字符串(包括普通字符(例如,a到z之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。
在实际应用中,一条规则的正则表达式根据不同的场景,需要用到不同条件,因此需要根据不同的匹配内容编写不同的字符串匹配结构,设计过程较为繁琐,这样的正则表达式比较复杂。而匹配内容的格式一旦改变,就需要重新设计字符串匹配结构,造成维护困难。
因此,如何降低正则表达式的维护难度是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种正则表达式匹配的方法、系统、设备及计算机可读存储介质,用于降低正则表达式的维护难度。
为解决上述技术问题,本申请提供一种正则表达式匹配的方法,该方法包括:
接收输入的逻辑表达式;
获取所述逻辑表达式中的各条件编码;
加载条件库,并确定各所述条件编码在所述条件库中对应的条件;其中,所述条件库为预先根据正则表达式的使用场景确定的;
利用各所述条件编码对应的条件对待匹配数据进行匹配,得到各条件匹配结果;
根据各所述条件匹配结果确定所述逻辑表达式的匹配结果。
可选的,所述根据各所述条件匹配结果确定所述逻辑表达式的匹配结果,包括:
将所述逻辑表达式中的各所述条件编码替换为对应的条件匹配结果,得到匹配表达式;
建立预处理栈,并按照预设处理规则对所述匹配表达式进行处理,并将得到的处理结果存放至所述预处理栈中;
从所述预处理栈中读取所述处理结果,并按照预设计算规则对所述处理结果进行计算,得到所述逻辑表达式的匹配结果。
可选的,还包括:
根据接收到的新条件扩充指令在所述条件库中扩充相应的新条件,并为所述新条件设置对应的条件编号;
根据接收到的条件修改指令修改所述条件库中相应的条件。
可选的,在接收输入的逻辑表达式之后,还包括:
对所述输入的逻辑表达式进行校验。
本申请还提供一种正则表达式匹配的系统,该系统包括:
接收模块,用于接收输入的逻辑表达式;
获取模块,用于获取所述逻辑表达式中的各条件编码;
加载模块,用于加载条件库,并确定各所述条件编码在所述条件库中对应的条件;其中,所述条件库为预先根据正则表达式的使用场景确定的;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811277431.7/2.html,转载请声明来源钻瓜专利网。