[发明专利]一种基于双跳跃的单模式匹配方法有效
申请号: | 201410769572.6 | 申请日: | 2014-12-15 |
公开(公告)号: | CN104519056A | 公开(公告)日: | 2015-04-15 |
发明(设计)人: | 杨忠明;申林;秦勇 | 申请(专利权)人: | 广东科学技术职业学院 |
主分类号: | H04L29/06 | 分类号: | H04L29/06 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 邱奕才;汪晓东 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 跳跃 模式 匹配 方法 | ||
1.一种基于双跳跃的单模式匹配方法,采用改进Sunday算法完成其中的入侵模式串的匹配,其特征在于,在字符匹配过程中若出现字符不相等,则先连续跳跃两步,再进行匹配,具体包括以下步骤:
S21初始化跳跃数组next1和next2;
S22开始匹配;
S23若匹配成功则将将模式串P[0…m-1]整体向右移一位,若匹配失败则按跳跃数组next1向右跳跃S1个字符,然后按next2进行第二步跳跃,跳过S2个字符;
S24判断移动后的模式串是否到达或超出主串尾,若否则返回S22,若是则结束匹配,输出所有和模式串相匹配的字符串的位置。
2.根据权利要求1所述的一种基于双跳跃的单模式匹配方法,其特征在于,所述跳跃数组next1的初始化规则为:当模式串P[0,1…m-1]中存在和主串M[pos+m]位相同的字符,则将模式串P[0,1…m-1]中的这些字符最右边一个和M[pos+m]位对齐,若不存在相同字符,则直接跳过,将M[pos+m+1]位和P[0]位对齐,其中pos表示每次匹配开始时模式串P起始位在主串M中的对齐位下标,m表示模式串的长度。
3.根据权利要求1或2所述的一种基于双跳跃的单模式匹配方法,其特征在于,所述跳跃数组next2的初始化规则为:第一步跳跃完毕后,若模式串中存在与M[pos+m+S1-1]位相同的字符,则把这些字符最右边一个与M[pos+m+S1-1]位对齐,若M[pos+m+S1-1]= P[m-1],则第二步跳跃为0,若不存在与M[pos+m+S1-1]位相同的字符,则直接跳过,将M[pos+m+S1-1]位和P[0]位对齐。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东科学技术职业学院;,未经广东科学技术职业学院;许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410769572.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:网站权限漏洞检测方法和系统
- 下一篇:一种多媒体数据共享方法及终端