[发明专利]基于KMP匹配算法的字符串快速匹配方法在审
申请号: | 201911120073.3 | 申请日: | 2019-11-15 |
公开(公告)号: | CN110909214A | 公开(公告)日: | 2020-03-24 |
发明(设计)人: | 冯驰;蔡翔;陈清萍;毛峰;吴丽莎;陈山;李超;夏雨潇 | 申请(专利权)人: | 国网安徽省电力有限公司安庆供电公司 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 上海精晟知识产权代理有限公司 31253 | 代理人: | 孙永智 |
地址: | 246000 *** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 kmp 匹配 算法 字符串 快速 方法 | ||
1.基于KMP匹配算法的字符串快速匹配方法,其特征在于,包括如下步骤:
将模式串最后一个字符x与文本串进行匹配;
若字符x匹配失败;采用坏字符规则移动;
若字符x匹配时;
采用模式串前缀与文本串比较,若模式串前缀与文本串同配,则字符串找到;若失配,则根据KMP算法得到模式串右移的距离使模式串在新位置进行一下轮的匹配;
当字符x在模式串前缀中出现,而模式串在这个新位置并未使主串的字符x与模式串前缀中出现的字符x对齐,则向右增大模式串的移动距离,使主串中的字符x与模式串前缀中出现的字符x对齐,然后再进行比较;
若字符x并未在模式串前缀中出现,采用好字符规则直接跳过该区域获得最大的右移距离。
2.根据权利要求1所述的基于KMP匹配算法的字符串快速匹配方法,其特征在于,所述好字符规则还需增加一个好字符数组GC以记录模式串最末字符在字符串前缀中出现的位置信息;所述好字符数组GC与模式串长度一致。
3.根据权利要求1所述的基于KMP匹配算法的字符串快速匹配方法,还包括如下:
所述文本串进行全文扫描时分为末字符匹配和前缀匹配两部分,首先在index位置对模式串P最末字符x进行匹配;
若失配,则直接取坏字符表值移动字符串在下一个位置进行比较;
若同配,则匹配模式串前缀,若所述前缀也同配,则字符串找到;当所述前缀j位置失配,则求出由KMP算法模式值next决定的移动距离,再访问好字符数组GC,计算模式串P的最大移动距离。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网安徽省电力有限公司安庆供电公司,未经国网安徽省电力有限公司安庆供电公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911120073.3/1.html,转载请声明来源钻瓜专利网。