一种字符串匹配方法和相关装置制造方法及图纸

技术编号:31747663 阅读:17 留言:0更新日期:2022-01-05 16:27
本申请公开了一种字符串匹配方法和相关装置,在第一轮字符匹配过程中,依据先中间后两边的原则,将待匹配字符串的中间字符与多个文本中的字符进行匹配,若查找到第一文本中包括待匹配字符串的中间字符,利用中间字符与待匹配字符串的首字符、尾字符的距离,将待匹配字符串的首字符、尾字符分别与第一文本进行匹配,筛选得到包括待匹配字符串的相似字符串的第二文本。依据先中间后两边的原则,对待匹配字符串中的剩余字符和第二文本中的相似字符串执行下一轮字符匹配,从第二文本中筛选目标文本,直到满足字符匹配结束条件为止。若目标文本中包括与待匹配字符串的字符全部匹配的目标字符串,将目标字符串作为待匹配字符串的匹配字符串。匹配字符串。匹配字符串。

【技术实现步骤摘要】
一种字符串匹配方法和相关装置


[0001]本申请涉及数据处理领域,特别是涉及一种字符串匹配方法和相关装置。

技术介绍

[0002]字符串匹配是计算机科学的重要组成部分,隐含众多科学理论、算法思想以及算法技巧,其应用渗透到信息技术的各个领域。随着网络信息大众化的快读发展,用户对信息检索提出了更高要求,功能上要求提高查全率、差准率以及精确定位,操作上要求简单、灵活、快捷。作为信息检索的基础,字符串匹配越来越重要,成为信息检索的瓶颈技术,直接影响到信息检索的检索方式、检索功能、检索效果、用户界面等。
[0003]目前广为人知的字符串匹配算法有:Brute

Force算法,Knuth

Morris

Pratt算法,KMP算法,Boyer

Boore算法以及Rabin

Karp算法等,这些已知算法要么算法复杂度很高,要么实现起来很复杂。

技术实现思路

[0004]为了解决上述技术问题,本申请提供了一种字符串匹配方法和相关装置,降低了字符串匹配的复杂度,实现简单,提高了字符串匹配效率。
[0005]本申请实施例公开了如下技术方案:
[0006]第一方面,本申请实施例提供了字符串匹配方法,所述方法包括:
[0007]获取待匹配字符串;
[0008]在第一轮字符匹配过程中,依据先中间后两边的原则,将所述待匹配字符串的中间字符与多个文本中的字符进行匹配;
[0009]若查找到所述多个文本中的第一文本中包括所述待匹配字符串的中间字符,利用所述中间字符与所述待匹配字符串的首字符的距离,将所述待匹配字符串的首字符与所述第一文本进行匹配,以及利用所述中间字符与所述待匹配字符串的尾字符的距离,将所述待匹配字符串的尾字符与所述第一文本进行匹配,从所述第一文本中筛选得到第二文本,所述第二文本中包括所述待匹配字符串的相似字符串;
[0010]依据所述先中间后两边的原则,对所述待匹配字符串中的剩余字符和所述第二文本中的相似字符串执行下一轮字符匹配,从所述第二文本中筛选目标文本,直到满足字符匹配结束条件为止;
[0011]在满足字符匹配结束条件时,若所述目标文本中包括与所述待匹配字符串的字符全部匹配的目标字符串,将所述目标字符串作为所述待匹配字符串的匹配字符串。
[0012]可选的,所述在第一轮字符匹配过程中,依据先中间后两边的原则,将所述待匹配字符串的中间字符与多个文本中的字符进行匹配之前,所述方法还包括:
[0013]依据先中间后两边的原则,将所述待匹配字符串中的字符进行标识,得到所述待匹配字符串中每个字符的标识特征值,所述标识特征值用于标识每轮字符匹配所使用的目标字符在所述待匹配字符串中的位置,每轮字符匹配对应的目标字符至少包括该轮字符匹
配所对应的字符串中的中间字符、首字符和尾字符中至少一种字符,该轮字符匹配所对应的字符串为所述待匹配字符串中的全部字符串或部分字符串。
[0014]可选的,所述将所述待匹配字符串的中间字符与多个文本中的字符进行匹配,包括:
[0015]根据所述标识特征值在所述待匹配字符串中获取第一轮字符匹配对应的所述待匹配字符串的中间字符;
[0016]将获取到的所述待匹配字符串的中间字符与多个文本中的字符进行匹配。
[0017]可选的,每轮字符匹配对应的目标字符还包括额外字符,所述额外字符是该轮字符匹配所对应的字符串中与其中间字符、首字符或尾字符相同的字符。
[0018]可选的,所述方法还包括:
[0019]将包括所述匹配字符串的目标文本确定为所述待匹配字符串的检索结果;
[0020]返回所述检索结果。
[0021]可选的,所述方法还包括:
[0022]在所述检索结果中对所述匹配字符串进行标记。
[0023]第二方面,本申请实施例提供了一种字符串匹配装置,所述装置包括:
[0024]获取单元,用于获取待匹配字符串;
[0025]匹配单元,用于在第一轮字符匹配过程中,依据先中间后两边的原则,将所述待匹配字符串的中间字符与多个文本中的字符进行匹配;
[0026]所述匹配单元,还用于若查找到所述多个文本中的第一文本中包括所述待匹配字符串的中间字符,利用所述中间字符与所述待匹配字符串的首字符的距离,将所述待匹配字符串的首字符与所述第一文本进行匹配,以及利用所述中间字符与所述待匹配字符串的尾字符的距离,将所述待匹配字符串的尾字符与所述第一文本进行匹配,从所述第一文本中筛选得到第二文本,所述第二文本中包括所述待匹配字符串的相似字符串;
[0027]所述匹配单元,还用于依据所述先中间后两边的原则,对所述待匹配字符串中的剩余字符和所述第二文本中的相似字符串执行下一轮字符匹配,从所述第二文本中筛选目标文本,直到满足字符匹配结束条件为止;
[0028]确定单元,用于在满足字符匹配结束条件时,若所述目标文本中包括与所述待匹配字符串的字符全部匹配的目标字符串,将所述目标字符串作为所述待匹配字符串的匹配字符串。
[0029]可选的,所述装置还包括标识单元:
[0030]所述标识单元,用于依据先中间后两边的原则,将所述待匹配字符串中的字符进行标识,得到所述待匹配字符串中每个字符的标识特征值,所述标识特征值用于标识每轮字符匹配所使用的目标字符在所述待匹配字符串中的位置,每轮字符匹配对应的目标字符至少包括该轮字符匹配所对应的字符串中的中间字符、首字符和尾字符中至少一种字符,该轮字符匹配所对应的字符串为所述待匹配字符串中的全部字符串或部分字符串。
[0031]可选的,所述匹配单元,用于:
[0032]根据所述标识特征值在所述待匹配字符串中获取第一轮字符匹配对应的所述待匹配字符串的中间字符;
[0033]将获取到的所述待匹配字符串的中间字符与多个文本中的字符进行匹配。
[0034]可选的,每轮字符匹配对应的目标字符还包括额外字符,所述额外字符是该轮字符匹配所对应的字符串中与其中间字符、首字符或尾字符相同的字符。
[0035]可选的,所述确定单元,用于将包括所述匹配字符串的目标文本确定为所述待匹配字符串的检索结果;
[0036]所述装置还包括返回单元:
[0037]所述返回单元,用于返回所述检索结果。
[0038]可选的,所述装置还包括标记单元:
[0039]所述标记单元,用于在所述检索结果中对所述匹配字符串进行标记。
[0040]第三方面,本申请实施例提供了一种用于字符串匹配的设备,所述设备包括处理器以及存储器:
[0041]所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0042]所述处理器用于根据所述程序代码中的指令执行前述第一方面任一所述的方法。
[0043]由上述技术方案可以看出,本申请实施例具有以下优点:
[0044]在从多本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种字符串匹配方法,其特征在于,所述方法包括:获取待匹配字符串;在第一轮字符匹配过程中,依据先中间后两边的原则,将所述待匹配字符串的中间字符与多个文本中的字符进行匹配;若查找到所述多个文本中的第一文本中包括所述待匹配字符串的中间字符,利用所述中间字符与所述待匹配字符串的首字符的距离,将所述待匹配字符串的首字符与所述第一文本进行匹配,以及利用所述中间字符与所述待匹配字符串的尾字符的距离,将所述待匹配字符串的尾字符与所述第一文本进行匹配,从所述第一文本中筛选得到第二文本,所述第二文本中包括所述待匹配字符串的相似字符串;依据所述先中间后两边的原则,对所述待匹配字符串中的剩余字符和所述第二文本中的相似字符串执行下一轮字符匹配,从所述第二文本中筛选目标文本,直到满足字符匹配结束条件为止;在满足字符匹配结束条件时,若所述目标文本中包括与所述待匹配字符串的字符全部匹配的目标字符串,将所述目标字符串作为所述待匹配字符串的匹配字符串。2.根据权利要求1所述的方法,其特征在于,所述在第一轮字符匹配过程中,依据先中间后两边的原则,将所述待匹配字符串的中间字符与多个文本中的字符进行匹配之前,所述方法还包括:依据先中间后两边的原则,将所述待匹配字符串中的字符进行标识,得到所述待匹配字符串中每个字符的标识特征值,所述标识特征值用于标识每轮字符匹配所使用的目标字符在所述待匹配字符串中的位置,每轮字符匹配对应的目标字符至少包括该轮字符匹配所对应的字符串中的中间字符、首字符和尾字符中至少一种字符,该轮字符匹配所对应的字符串为所述待匹配字符串中的全部字符串或部分字符串。3.根据权利要求2所述的方法,其特征在于,所述将所述待匹配字符串的中间字符与多个文本中的字符进行匹配,包括:根据所述标识特征值在所述待匹配字符串中获取第一轮字符匹配对应的所述待匹配字符串的中间字符;将获取到的所述待匹配字符串的中间字符与多个文本中的字符进行匹配。4.根据权利要求2所述的方法,其特征在于,每轮字符匹配对应的目标字符还包括额外字符,所述额外字符是该轮字符匹配所对应的字符串中与其中间字符、首字符或尾字符相同的字符。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:将包括所述匹配字符串的目标文本确定为所述待匹配字符串的检索结果;返回所述检索结果。6....

【专利技术属性】
技术研发人员:唐超甄鹏
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1