[发明专利]一种基于Sunday算法的字符搜索方法有效
申请号: | 201710375615.6 | 申请日: | 2017-05-24 |
公开(公告)号: | CN107220333B | 公开(公告)日: | 2020-01-31 |
发明(设计)人: | 刘小垒;张小松;牛伟纳;胡斌;王中晴 | 申请(专利权)人: | 电子科技大学 |
主分类号: | G06F16/903 | 分类号: | G06F16/903 |
代理公司: | 51230 成都弘毅天承知识产权代理有限公司 | 代理人: | 徐金琼;刘东 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于计算机软件应用领域,公开了一种基于Sunday算法的字符搜索方法。通过判断文本窗口的末位和文本窗口外的下一位字符的组合是否出现在模式串中,来对模式串和文本模式串进行匹配,若匹配成功,程序结束;若匹配不成功,则移动文本窗口,继续利用上述的方法进行判断,直到文本窗口到达文本字符串的末端或者匹配成功,程序才会结束;利用此方法,可有效的减小原算法的无效匹配次数,提升文本的匹配效率。 | ||
搜索关键词: | 文本 匹配 匹配成功 模式串 算法 计算机软件应用 文本字符串 程序结束 匹配效率 文本模式 移动文本 字符搜索 减小 成功 | ||
【主权项】:
1.一种基于Sunday算法的字符搜索方法,其特征在于:包括以下步骤:/n步骤1:利用模式串中相邻两字符的信息构建辅助数组,所述模式串为待匹配的字符串;/n步骤2:文本窗口与文本字符串左对齐,所述文本字符串为待搜索文本,所述文本窗口在所述文本字符串上滑动;利用所述辅助数组判断所述文本窗口内最后两个字符是否在模式串中出现;若未出现,跳转到步骤4;若出现,则将模式串中出现的字符与所述最后两个字符对齐,判断模式串与文本字符串对应位置上的字符是否匹配,若匹配,则匹配成功程序结束;若不匹配,则跳转到步骤3;/n步骤3:采用Sunday算法进行下一次的匹配和跳转,若采用Sunday算法匹配成功,则程序结束;若采用Sunday算法匹配失败,则判断Sunday算法跳转的长度是否超过文本窗口的长度,若超过文本窗口长度,则跳转到步骤4;若未超过文本窗口长度,则重复步骤3;/n步骤4:文本窗口向右移动J个字符长度,将文本窗口中的末位字符和文本窗外与所述末位字符相邻的字符作为组合字符,利用辅助数组判断所述组合字符是否在模式串中出现;若出现,跳转到步骤5;若未出现,判断文本窗口是否超出文本字符串,若超出,则匹配失败程序结束;若未超出,重复步骤4的内容;其中模式串的长度和文本窗口的长度均为J个字符长度;/n步骤5:模式串中出现的字符与所述组合字符对齐,判断模式串与文本字符串对应位置上的字符是否匹配;若匹配则匹配成功程序结束;若不匹配,跳转到步骤3。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710375615.6/,转载请声明来源钻瓜专利网。