The invention provides a fast string matching method based on suffix array. The method consists of two stages: the first stage uses binary search to limit the position of pattern strings in text strings to the possible interval of suffix arrays starting with the first character of pattern strings; the second stage further restricts the search conditions in this interval to exclude the length less than pattern strings. The suffixes of the last character and the last character of the pattern string are different, so as to reduce the number of comparisons of characters and narrow the scope of string matching, and then quickly get the position of the pattern string in the text string.
【技术实现步骤摘要】
基于后缀数组的字符串快速匹配方法
本专利技术涉及计算机
下的自然语言处理
尤其涉及一种文本中时间信息的处理方法。
技术介绍
字符串匹配又叫模式匹配,是广泛应用于信息检索、入侵检测、计算生物学、搜索引擎、数据压缩等领域的一项关键技术。所谓模式匹配问题,指的是查找某个特定模式串P=p1p2…pm在文本串T=t1t2…tn中的所有出现位置及出现的次数。根据研究领域和研究对象的不同,模式匹配问题可以分为大致分为以下四种:精确字符串匹配、扩展字符串匹配、正则表达式匹配和近似字符串匹配。后缀数组是一个有序的整型数组,是字符串处理中的有力工具,并以其实现简单,空间占用量小等优点而比后缀树更为实用。给定一个长度为n的字符串T=t1t2…tn,位置i上文本记作T[i]=ti,后缀是指从某个位置i开始到整个串结尾的一个特殊子串,即为T[i,n]=titi+1…tn,亦表示为Suffix(i)。后缀数组SA是一个一维整型数组,保存了1到n的某个排列SA[1],SA[2],…SA[n],并且保证Suffix(SA[i])<Suffix(SA[i+1]),其中i ...
【技术保护点】
1.基于后缀数组的字符串快速匹配方法,其特征在于,包括如下步骤:1)建立关于文本串T的后缀数组SA,然后再对后缀数组SA进行二分查找将模式串P在文本串T中的出现位置限定在以模式串P的首字符为起始字符的后缀数组区间内[sp,ep],其中sp表示文本串T中与模式串P首字符相同的后缀的可能的起始位置,ep表示文本串T中与模式串P首字符相同的后缀的可能结束的位置;2)在步骤1)所得到的区间上排除长度小于模式串P以及末位字符与模式串P末位字符不同的后缀,进而得到模式串P在文本串T中的出现位置。
【技术特征摘要】
1.基于后缀数组的字符串快速匹配方法,其特征在于,包括如下步骤:1)建立关于文本串T的后缀数组SA,然后再对后缀数组SA进行二分查找将模式串P在文本串T中的出现位置限定在以模式串P的首字符为起始字符的后缀数组区间内[sp,ep],其中sp表示文本串T中与模式串P首字符相同的后缀的可能的起始位置,ep表示文本串T中与模式串P首字符相同的后缀的可能结束的位置;2)在步骤1)所得到的区间上排除长度小于模式串P以及末位字符与模式串P末位字符不同的后缀,进而得到模式串P在文本串T中的出现位置。2.根据权利要求1所述的基于后缀数组的字符串快速匹配方法,其特征在于,所述步骤1)包括如下步骤:101)输入长度为m的模式文本P,长度为n的文本T,后缀数组SA;102)初始化临时变量sp=1,st=n+1,其中sp表示文本串T中与模式串P首字符相同的后缀的可能的起始位置;103)如果sp不小于st则执行步骤106);104)进行折半定位,临时变量s=(sp+st)/2;105)判断模式P的第一个字符是不小于T中第SA[s]个字符,如果小于则sp=s+1,否则st=s;然后执行步骤103);106)初始化临时变量ep=sp-1,et=n,其中ep表示文本串T中与模式串P首字符相同的后缀的可能结束的位置;107)如果ep不小于et...
【专利技术属性】
技术研发人员:路松峰,
申请(专利权)人:南京搜文信息技术有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。