[发明专利]一种利用正则表达式的匹配方法、装置及设备有效
申请号: | 201810290338.3 | 申请日: | 2018-04-03 |
公开(公告)号: | CN108681554B | 公开(公告)日: | 2021-08-24 |
发明(设计)人: | 温悦 | 申请(专利权)人: | 创新先进技术有限公司 |
主分类号: | G06F16/33 | 分类号: | G06F16/33 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 杨移 |
地址: | 开曼群岛大开曼岛*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 正则 表达式 匹配 方法 装置 设备 | ||
本说明书公开一种利用正则表达式的匹配方法、装置及设备,该方法将大量的第一正则表达式通过组合,得到少量的第二正则表达式,再将各第二正则表达式分别编译为相应的有限自动机,最后通过有限自动机对文本进行匹配。由于组合得到的第二正则表达式的数量少于第一正则表达式的数量,因此,可有效减少匹配文本的次数,提高匹配效率。
技术领域
本说明书涉及计算机技术领域,尤其涉及一种利用正则表达式的匹配方法、装置及设备。
背景技术
目前,通过正则表达式对文本中的数据进行匹配是业界常用的方法。
通常来说,用于匹配的正则表达式的数量都在几条到几十条不等,而在现有技术中,针对每个正则表达式,都需要使用该正则表达式对所有的文本过滤一遍。
也就是说,若有N条正则表达式,那么每个文本都会被过滤N次,这在文本量大、正则表达式数量较多的情况下,存在很大的性能问题。因此,需要一种利用正则表达式的匹配方法,以提高匹配效率。
发明内容
本说明书提供一种利用正则表达式的匹配方法、装置及设备,用以解决现有技术采用正则表达式匹配的效率较低的问题。
本说明书提供了一种利用正则表达式的匹配方法,包括:
确定各第一正则表达式;
将各第一正则表达式进行组合,得到至少一个第二正则表达式,所述第二正则表达式的数量小于第一正则表达式的数量;
将各第二正则表达式编译为有限自动机;
采用所述有限自动机对待匹配文本进行匹配,得到结果。
本说明书提供了一种利用正则表达式的匹配装置,包括:
确定模块,确定各第一正则表达式;
组合模块,将各第一正则表达式进行组合,得到至少一个第二正则表达式,所述第二正则表达式的数量小于第一正则表达式的数量;
编译模块,将各第二正则表达式编译为有限自动机;
匹配模块,采用所述有限自动机对待匹配文本进行匹配,得到结果。
本说明书提供了一种利用正则表达式的匹配设备,所述设备包括一个或多个存储器以及处理器,所述存储器存储程序,并且被配置成由所述一个或多个处理器执行以下步骤:
确定各第一正则表达式;
将各第一正则表达式进行组合,得到至少一个第二正则表达式,所述第二正则表达式的数量小于第一正则表达式的数量;
将各第二正则表达式编译为有限自动机;
采用所述有限自动机对待匹配文本进行匹配,得到结果。
本说明书采用的上述至少一个技术方案能够达到以下有益效果:
本说明书将大量的第一正则表达式通过组合,得到少量的第二正则表达式,再将各第二正则表达式分别编译为相应的有限自动机,最后通过有限自动机对文本进行匹配。由于组合得到的第二正则表达式的数量少于第一正则表达式的数量,因此,可有效减少匹配文本的次数,提高匹配效率。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为本说明书提供的使用正则表达式匹配的过程示意图;
图2为分别将每个第一正则表达式编译为NFA的示意图;
图3为将组合各第一正则表达式得到的第二正则表达式编译为NFA的示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于创新先进技术有限公司,未经创新先进技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810290338.3/2.html,转载请声明来源钻瓜专利网。