【技术实现步骤摘要】
本专利技术涉及一种用于实现多正则表达式联合搜索的扩展有限状态 机,也涉及利用该扩展有限状态机实现字符串搜索的方法,属于计算机
技术介绍
随着IT技术的发展,信息量呈爆炸性增长趋势,信息检索占据了越 来越重要的地位。基于正则表达式的搜索方法,由于实现简单、性能高 效,在字符串搜索中得到了广泛应用,并且出现了一大批成熟的支持工 具,grep、 egrep、 awk、 sed等就是其中的典型代表。正则表达式(Regular Expression),又称正规表达式或常规表达式, 常用来描述或匹配一系列符合某个句法规则的字符串。简单地说, 一个 正则表达式是由普通字符(例如字符a到z)以及特殊字符(称为元字符) 组成的文字模式,该模式描述在查找文字主体时待匹配的一个或多个字 符串。正则表达式及后文提及的有限状态机等内容,是计算机领域人员 的公共常识,此处及后文不再赘述。基于正则表达式的搜索方法, 一般先把正则表达式转换成对应的有 限状态机,然后基于有限状态机来完成搜索过程。有限状态机有两种基 本形态不确定性有限状态机(NFA)和确定性有限状态机(DFA)。不确定 性有限状态机M是一个五元式,M=(Q, VtU{e}, S, qO, F),其中,Q 为有穷状态集合,Vt为输入字母表,e为空串,S为状态转换函数,q0 为始态,F为终止状态集。确定性有限状态机M也是一个五元式,M-(Q, Vt, S, q0, F},其中,各个参数的含义与不确定性有限状态机中对应参数 的含义相同。二者的区别在于,NFA可以接受空串e作为输入并且状态转 换函数允许是多值的,DF ...
【技术保护点】
一种用于多正则表达式联合搜索的扩展有限状态机,包括有穷状态集合、输入字母表、状态转换函数、始态和终止状态集,其特征在于还包括:状态标识集合,用于给状态机中的每一个状态加一个标识;状态与状态标识的映射函数,用于通过该函数计算出一个给定状态的状态标识;状态转换函数的标识集合,用于给状态机中的每一个状态转换关系都引入一个唯一的标识;状态转换函数与状态转换函数标识的映射函数,用于计算与一条状态转换关系对应的标识。
【技术特征摘要】
1.一种用于多正则表达式联合搜索的扩展有限状态机,包括有穷状态集合、输入字母表、状态转换函数、始态和终止状态集,其特征在于还包括状态标识集合,用于给状态机中的每一个状态加一个标识;状态与状态标识的映射函数,用于通过该函数计算出一个给定状态的状态标识;状态转换函数的标识集合,用于给状态机中的每一个状态转换关系都引入一个唯一的标识;状态转换函数与状态转换函数标识的映射函数,用于计算与一条状态转换关系对应的标识。2. 如权利要求l所述的用于多正则表达式联合搜索的扩展有限状态 机,其特征在于所述扩展有限状态机分为扩展非确定性有限状态机和扩展确定性有 限状态机;其中,扩展非确定性有限状态机中的状态转换函数允许是多值的, 扩展确定性有限状态机不接受空串作为输入并且状态转换函数必须是单 值的。3. —种基于扩展有限状态机的多正则表达式联合搜索方法,其特征在于-(1) 构造同时识别多个正则表达式的扩展非确定性有限状态机或扩 展确定性有限状态机;(2) 分配一个足够大的状态转换函数标识空间S,该空间中的每一个 元素用来存放一个状态转换函数标识,用变量flag标识该空间的使用状况,置flag二0;记当前状态标识集合U= P(qn),其中qη为自动机的始态;(3)正向搜索时,每当调用一次状态转换函数δ(p,a)=q,则自动 执行下面三个步骤U=U∩P(q),S[flag] = ω(p, a, q),flag= flag+l , (4)逆向回退字符时(4. l)如果只沿着某个特定的正则表达式回退,若该正则表达式 的标识为i,执行如下步骤记状态机当前状态为m,若iep(m),则可 以回退字符,否则停止回退,若可以回退字符,则査找状态转换函数标 识空间对应的状态转换标识函数co(p, a, m),然后把字符a回退回输入 串中,同时把P设为当前状态,执行flag = flag-1,即flag自动减l, 释放标识空间,若继续回退字符,则重复本步骤,否则结束回退;(4.2)如果不沿着某个特定的正则表达式回退,则执行如下步骤 记状态机当前状态为m,査找状态转换函数标识空间对应的状态转换标识 函数w(p, a, m),然后把字符a回退回输入串中,同时把p设为当前状 态,执行flag=flag-1,若继续回退字符,则重复本步骤,否则结束回 退。4.如权利要求3所述的基于扩展有限状态机的多正则表达式联合搜 索方法,其特征在于-所述步骤(l)中,构造同时识别多个正则表达式的扩展非确定性有限 状态机E-NFA包括如下步骤(11) 为多个子正则表达式的每一个分别构造相应的扩展非确定性 有限状态机E-NFAra;(12) 增加一个新的始态s作为E-NFA的始态,从s到(ll)中构造的 各个E-NFAm的始态分别引一...
【专利技术属性】
技术研发人员:许福,李虎,金茂忠,刘超,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:11[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。