一种字符串匹配方法及系统技术方案

技术编号:16365532 阅读:50 留言:0更新日期:2017-10-10 21:34
本发明专利技术公开了一种字符串匹配方法及系统,涉及字符匹配领域。一种字符串匹配方法它包括以下步骤:输入文本字符串:将所有文本字符串输入长度为n;输入模式串:将要与文本字符串进行匹配的模式串输入长度为m,m小于等于n;定义数组;字符串匹配。一种字符串匹配系统,其特征在于,它包括:人机交互模块、字符串输入模块、数组定义模块、字符串匹配模块和输出显示模块;人机交互模块与符串输入模块相连,字符串输入模块和数组定义模块相连,数组定义模块和字符串匹配模块相连,字符串匹配模块与输出显示模块相连。本发明专利技术使算法更简单,算法需要的空间资源更少,计算速度更快。

String matching method and system

The invention discloses a string matching method and a system, and relates to the character matching field. A string matching method which comprises the following steps: inputting text string: all input text strings of length n; string input mode: will match pattern and text string input string length is m, M is less than or equal to N; DEFINITION; string matching. A string matching system, which is characterized in that it comprises a man-machine interactive module, input module, string array definition module, string matching module and output module; human-computer interaction module and the string input module is connected to a string input module and array definition module, array definition module and string matching module connected string matching module the output display module is connected with. The invention makes the algorithm simpler, requires less space resources, and has faster calculation speed.

【技术实现步骤摘要】
一种字符串匹配方法及系统
本专利技术涉及字符匹配领域,特别是一种字符串匹配方法及系统。
技术介绍
在国民经济和社会各领域信息化深入发展的同时,相应的安全保障问题也更为凸显。目前,网络攻击已被作为世界面临的主要安全威胁之一。网络窃密、个人隐私被滥用、敌对势力利用网络进行意识形态渗透等问题日益突出,信息系统受到破坏后,对国家安全、社会秩序和公众利益造成的损害也越严重。近几年来,APT攻击已经成为业界关注和讨论的热点。APT攻击一般是指针对政府机关、研究机构或特定企业的连续不间断入侵渗透,利用软硬件缺陷和社会工程学原理进行的持续攻击。它以其独特的攻击方式和手段,使得传统的安全防御工具已无法进行有效的防御,模式匹配速度逐渐成为误用入侵检测系统的瓶颈,寻求一种快速有效的模式匹配算法成为当前研究的热点。针对以上问题提供一种改进的字符串匹配的方法及系统是很有必要的。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种字符串匹配方法及系统使算法更简单,算法需要的空间资源更少,计算速度更快。本专利技术的目的是通过以下技术方案来实现的:一种字符串匹配方法,它包括以下步骤:S1输入文本字符串:将所有文本字符串输入长度为n;S2输入模式串:将要与文本字符串进行匹配的模式串输入长度为m,m小于等于n;S3定义数组;S4字符串匹配。进一步限定,所述的定义数组包括:增加一个新的移动数组;定义一个预制数组。进一步限定,所述的增加一个新的移动数组是根据字符在模式串中所出现的次数来确定新的移动数组长度。进一步限定,在字符在模式串中所出现的次数小于2时,新的移动数组长度为m;反之新的移动数组长度为m-f-1,f表示字符在模式串中倒数第二次出现的位置。进一步限定,所述的定义预制数组具体分为如下步骤:S31判断字符是否在模式串中出现;S32若没有出现,该字符在模式串中位置为-1,即预制数组长度为0;S33若出现,判定字符最后出现在模式中的位置;S34字符在模式串中位置为0,即预制数组长度为1;字符在模式串中位置为e,即预制数组长度为e-1,0<<e<<m。进一步限定,所述的字符串匹配具体分为如下步骤:S41当匹配开始比较输入文本字符串的k-m+1至k的子串是否与输入模式串的0至m-1的子串,从右至左依次检查判断是否完全匹配,匹配成功则执行下一子串匹配,反之执行下一步骤。S42比较输入文本字符串的k-1子串和预制数组的k子串中所有元素是否匹配;S43将文本指针重新赋值。进一步限定,所述的将文本指针重新赋值为k+m。一种字符串匹配系统,其特征在于,它包括:字符串输入模块、数组定义模块、字符串匹配模块、输出显示模块和人机交互模块;字符串输入模块与数组定义模块相连,数组定义模块与字符匹配模块相连,字符匹配模块与输出显示相连,输出显示模块与人机交互模块相连。进一步限定,所述的字符串输入模块将长度为n的所有文本字符串输入,将长度为m文本字符串进行匹配的模式串输入,m小于等于n;数组定义模块分别增加一个新的移动数组和定义一个预制数组。进一步限定,所述的字符串匹配模块执行文本字符串与模式串的匹配具体为:当匹配开始比较输入文本字符串的k-m+1至k的子串是否与输入模式串的0至m-1的子串,从右至左依次检查判断是否完全匹配,匹配成功则执行下一子串匹配,反之执行下一步骤;比较输入文本字符串的k-1子串和预制数组的k子串中所有元素是否匹配;将文本指针重新赋值。本专利技术的有益效果是:本专利技术使算法更简单,算法需要的空间资源更少,计算速度更快充分利用模式串特征进行更大距离的移动,使算法获得更高的效率。改进后的算法能够增加“坏字符”方法的右移量,有效地提高匹配速率。针对网络入侵行为的入侵检测,基于模式匹配技术的入侵检测系统,就是通过提取已有攻击信息的特征编码成模式,然后将审计信息与该模式进行匹配,从中发现是否存在攻击行为实现对网络安全的有效监控,预防网络犯罪。附图说明图1为本专利技术方法步骤流程图;图2为本专利技术了系统框架图。具体实施方式下面结合附图进一步详细描述本专利技术的技术方案,但本专利技术的保护范围不局限于以下所述。如图1所示,一种字符串匹配方法,它包括以下步骤:S1输入文本字符串:将所有文本字符串输入长度为n;S2输入模式串:将要与文本字符串进行匹配的模式串输入长度为m,m小于等于n;S3定义数组;S4字符串匹配。进一步限定,所述的定义数组包括:增加一个新的移动数组;定义一个预制数组。进一步限定,所述的增加一个新的移动数组是根据字符在模式串中所出现的次数来确定新的移动数组长度。进一步限定,在字符在模式串中所出现的次数小于2时,新的移动数组长度为m;反之新的移动数组长度为m-f-1,f表示字符在模式串中倒数第二次出现的位置。进一步限定,所述的定义预制数组具体分为如下步骤:S31判断字符是否在模式串中出现;S32若没有出现,该字符在模式串中位置为-1,即预制数组长度为0;S33若出现,判定字符最后出现在模式中的位置;S34字符在模式串中位置为0,即预制数组长度为1;字符在模式串中位置为e,即预制数组长度为e-1。进一步限定,所述的字符串匹配具体分为如下步骤:S41当匹配开始比较输入文本字符串的k-m+1至k的子串是否与输入模式串的0至m-1的子串,从右至左依次检查判断是否完全匹配,匹配成功则执行下一子串匹配,反之执行下一步骤。S42比较输入文本字符串的k-1子串和预制数组的k子串中所有元素是否匹配;S43将文本指针重新赋值。进一步限定,所述的将文本指针重新赋值为k+m。如图2所示,一种字符串匹配系统,其特征在于,它包括:人机交互模块、字符串输入模块、数组定义模块、字符串匹配模块和输出显示模块;人机交互模块与符串输入模块相连,字符串输入模块和数组定义模块相连,数组定义模块和字符串匹配模块相连,字符串匹配模块与输出显示模块相连。进一步限定,所述的字符串输入模块将长度为n的所有文本字符串输入,将长度为m文本字符串进行匹配的模式串输入,m小于等于n;数组定义模块分别增加一个新的移动数组和定义一个预制数组。进一步限定,所述的字符串匹配模块执行文本字符串与模式串的匹配具体为:当匹配开始比较输入文本字符串的k-m+1至k的子串是否与输入模式串的0至m-1的子串,从右至左依次检查判断是否完全匹配,匹配成功则执行下一子串匹配,反之执行下一步骤。比较输入文本字符串的k-1子串和预制数组的k子串中所有元素是否匹配;将文本指针重新赋值。实施例:通过字符串输入模块将长度为n所有文本字符串输入;通过字符串输入模块将长度为m且要与文本字符串进行匹配的模式串输入,m小于等于n;通过人机交互模块控制数组定义模块增加一个新的移动数组:判断字符在模式串中所出现的次数是否大于等于2;如果字符在模式串中所出现的次数小于2时,新的移动数组长度为m;反之新的移动数组长度为m-f-1,f表示字符在模式串中倒数第二次出现的位置;通过人机交互模块控制数组定义模块定义一个预制数组;判断字符是否在模式串中出现;若没有出现,该字符在模式串中位置为-1,即预制数组长度为0;若出现,判定字符最后出现在模式中的位置;字符在模式串中位置为0,即预制数组长度为1;字符在模式串中位置为e,即预制数组长度为e-1。字符串匹配比较输入文本字符串的本文档来自技高网...
一种字符串匹配方法及系统

【技术保护点】
一种字符串匹配方法,其特征在于,它包括以下步骤:S1输入文本字符串:将所有文本字符串输入长度为n;S2输入模式串:将要与文本字符串进行匹配的模式串输入长度为m,m小于等于n;S3定义数组;S4字符串匹配。

【技术特征摘要】
1.一种字符串匹配方法,其特征在于,它包括以下步骤:S1输入文本字符串:将所有文本字符串输入长度为n;S2输入模式串:将要与文本字符串进行匹配的模式串输入长度为m,m小于等于n;S3定义数组;S4字符串匹配。2.根据权利要求1所述的一种字符串匹配方法,其特征在于,所述的定义数组包括:增加一个新的移动数组;定义一个预制数组。3.根据权利要求2所述的一种字符串匹配方法,其特征在于:所述的增加一个新的移动数组是根据字符在模式串中所出现的次数来确定新的移动数组长度。4.根据权利要求3所述的一种字符串匹配方法,其特征在于:判断字符在模式串中所出现的次数是否小于2,若是则长度为m;反之新的移动数组长度为m-f-1,f表示字符在模式串中倒数第二次出现的位置。5.根据权利要求2所述的一种字符串匹配方法,其特征在于:所述的定义预制数组具体分为如下步骤:S31判断字符是否在模式串中出现;S32若没有出现,该字符在模式串中位置为-1,即预制数组长度为0;S33若出现,判定字符最后出现在模式中的位置;S34字符在模式串中位置为0,即预制数组长度为1;字符在模式串中位置为e,即预制数组长度为e-1。6.根据权利要求1所述的一种字符串匹配方法,其特征在于:所述的字符串匹配具体分为如下步骤:S41当匹配开始比较输入文本字符串的k-m+1至k...

【专利技术属性】
技术研发人员:彭光辉屈立笳陶磊苏礼刚林伟何羽霏
申请(专利权)人:成都国腾实业集团有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1