一种多模式下匹配字符串的方法及系统与流程

文档序号:11802730阅读:来源:国知局
一种多模式下匹配字符串的方法及系统与流程

技术特征:
1.一种多模式下匹配字符串的方法,其特征在于,该方法包括:存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;当接收到字符串时,从所接收的字符串中提取出待匹配字,然后从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则此待匹配字匹配成功,否则匹配失败;通过一个数组存储所述模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数。2.如权利要求1所述的方法,其特征在于,所述数组的值为关键字在模式集中的位置序号。3.如权利要求2所述的方法,其特征在于,从所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。4.如权利要求3所述的方法,其特征在于,从所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较的过程如下:获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数的值为0的数组元素,比较将所查找到的数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若比较结果不一致,则更新数组元素的可容忍冲突数再从用于存储模式集信息的数组中查找长度为L,首字母序号M、可容忍冲突数为更新值的数组元素,比较所查找到的数组元素对应的关键字与所述待匹配字是否一致,其中,所述数组元素的可容忍冲突数的更新值为上一个所要查找的数组元素的可容忍冲突数的值加1。5.如权利要求4所述的方法,其特征在于,更新所要查找的数组元素时,若更新操作次数达到设定次数时,所提取出的关键字与所述待匹配字仍不一致时,结束本方法的操作。6.一种多模式下匹配字符串的系统,其特征在于,该系统包括:存储单元,存储模式集信息,所述模式集信息至少包括各关键字的长度和其首字母序号;匹配单元,当接收到字符串时,从所述字符串中提取出待匹配字,从所述存储单元所存储的模式集信息中查找长度和首字母序号与所述待匹配字的长度和首字母序号均相同的关键字,将所查找到的关键字与待匹配字比较,若比较结果一致,则所述待匹配字匹配成功,否则匹配失败;所述存储单元,通过一个数组存储模式集信息,该用于存储模式集信息的数组至少包括关键字长度、关键字首字母序号以及关键字在模式集中可容忍冲突数,其中,关键字在模式集中可容忍冲突数为模式集中关键字长度以及关键字首字母序号均相同的关键字总数。7.如权利要求6所述的系统,其特征在于,所述数组的值等于关键字在模式集中的位置序号。8.如权利要求7所述的系统,其特征在于,所述匹配单元从所述存储单元所存储的模式集信息中查找关键字长度和关键字首字母序号与所述待匹配字的长度和首字母序号均相同的关键字为多个时,将所查找到的多个关键字依次与待匹配字进行比较。9.如权利要求8所述的系统,其特征在于,所述匹配单元包括处理模块和更新模块:所述处理模块,获取所述待匹配字的长度L及其首字母序号M,从用于存储模式集信息的数组Array中查找长度为L,首字母序号M、可容忍冲突数的值为0的数组元素,比较所查找到数组元素对应的关键字与所述待匹配字是否一致,若比较结果一致,则匹配成功,若当比较结果不一致,向所述更新模块发送更新通知,并从用于存储模式集信息的数组中找出所述更新模块更新的数组元素,若比较所查找到的数组元素对应的关键字与所述待匹配字是否一致;所述更新模块,按照所述处理模块发送的更新通知,更新所要查找的数组元素,其中,更新的所要查找的数组元素的长度保持为L、首字母序号保持为M,可容忍冲突数的值为上一个所要查找的数组元素的可容忍冲突数的值加1。10.如权利要求9所述的系统,其特征在于,所述更新模块,更新所要查找的数组元素时,若更新操作次数达到设定次数时,则不再进行更新操作。
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1