【技术实现步骤摘要】
字符串的匹配查找方法、装置及终端
本专利技术涉及数据查找识别
,具体来说涉及一种字符串的匹配查找方法、装置及终端。
技术介绍
随着计算机网络技术在各领域的飞速发展和广泛应用,各类资源由于病毒、黑客等容易遭到泄露、更改和破坏,造成系统异常甚至崩溃瘫痪,导致巨大的经济损失。频出的网络安全问题受到了人们的高度重视,以保护网络信息免受各种攻击为目的的计算机网络安全技术变得越来越重要。入侵检测系统就是应用最广泛的计算机网络安全技术之一,它是一种对网络传输进行即时监视,在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。字符串匹配是入侵检测系统中的一种常用分析方法,其效率的高低很大程度决定了入侵检测系统的性能。经过几十年国内外的研究和实践,在众多已有的字符串匹配算法中,Horspool算法是匹配次数较少,过程较简化的一种经典算法。Horspool算法是一种基于后缀的匹配方法,即比较顺序是从最后一个字符开始,方向是从右往左。具体运算过程是,将文本字符主串的最后一个字符跟文本字符子串的最后一个字符比较,如果相等则从右往左对主串和子串的每一个字符依次进行比较,直到所有的字符完全相等或者在某个字符处不匹配为止。如果不匹配再根据主串的最后一个字符在子串中的下一个出现位置将子串向右移动一定距离,然后继续下一次匹配。重复上述过程,直到在文本字符主串中找到文本字符子串的所有出现,算法终止。传统的Horspool算法的核心原理可抽象概括为:假设子串S的长度为m,当匹配失败时,在主串M中与子串S的最后一个字符相对应的字
【技术保护点】
1.字符串的匹配查找方法,其特征在于,包括以下步骤:/n步骤1、将字符主串的第一个字符与字符子串的第一个字符对齐,设字符子串的长度为m,字符主串的长度为n,m<n;/n步骤2、依次比较字符主串与字符子串的对应位置上的字符是否匹配,当所述字符子串的所有字符与字符主串的对应位置上的字符匹配时,匹配流程结束;/n步骤3、当所述字符子串的某一字符与字符主串的对应位置上的字符不匹配时,判断字符子串的最后一个字符与字符主串对应位置上的字符是否匹配,若是,则进入步骤4,否则,进入步骤5;/n步骤4、根据字符主串的第一位置上的字符计算移动距离,所述第一位置为字符子串的最后一个字符的对应位置的下一位置;/n步骤5、根据字符主串的第二位置上的字符计算移动距离,所述第二位置为字符子串的最后一个字符的对应位置;/n步骤6、根据步骤4或步骤5计算出的移动距离将所述字符子串向右移动后,进入步骤2。/n
【技术特征摘要】
1.字符串的匹配查找方法,其特征在于,包括以下步骤:
步骤1、将字符主串的第一个字符与字符子串的第一个字符对齐,设字符子串的长度为m,字符主串的长度为n,m<n;
步骤2、依次比较字符主串与字符子串的对应位置上的字符是否匹配,当所述字符子串的所有字符与字符主串的对应位置上的字符匹配时,匹配流程结束;
步骤3、当所述字符子串的某一字符与字符主串的对应位置上的字符不匹配时,判断字符子串的最后一个字符与字符主串对应位置上的字符是否匹配,若是,则进入步骤4,否则,进入步骤5;
步骤4、根据字符主串的第一位置上的字符计算移动距离,所述第一位置为字符子串的最后一个字符的对应位置的下一位置;
步骤5、根据字符主串的第二位置上的字符计算移动距离,所述第二位置为字符子串的最后一个字符的对应位置;
步骤6、根据步骤4或步骤5计算出的移动距离将所述字符子串向右移动后,进入步骤2。
2.如权利要求1所述的字符串匹配查找方法,其特征在于,步骤3中,所述根据字符主串的第一位置上的字符计算移动距离的方法包括:
判断字符子串的前m-1个字符中是否包含字符主串的第一位置上的字符,若是,则移动距离为字符子串的前m-1个字符中,最右边的字符主串的第一位置上的字符与字符子串的最后一个字符的距离加一,否则,移动距离为字符子串的长度加一。
3.如权利要求1或2所述的字符串匹配查找方法,其特征在于,步骤4中,所述根据字符主串的第二位置上的字符计算移动距离的方法包括:
判断字符子串的前m-1个字符中是否包含字符主串的第二位置上的字符,若是,则移动距离为字符子串的前m-1个字符中,最右边的字符主串的第二位置上的字符与字符子串的最后一个字符的距离,否则,移动距离为字符子串的长度。
4.如权利要求1所述的字符串匹配查找方法,其特征在于,步骤2中,所述依次比较字符主串与字符子串的对应位置上的字符是否匹配的方法包括:
从右到左依次比较字符主串与字符子串的对应位置上的字符是否匹配。
5.字符串的匹配查找装置,其特征在于,包括:对齐单元、匹配单元、计算单元和移动单元;
所述对齐单元用于将字符主串的第一个字符与字符子串的第一个...
【专利技术属性】
技术研发人员:汪浩,徐媛,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:四川;51
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。