支持正则表达式的文本匹配优化算法

来源 :东北大学 | 被引量 : 7次 | 上传用户:maclin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
正则表达式本身具备描述复杂查询的能力,能够通过特定的语法描述一类文本的共同特征。正则表达式因其强大的表达能力和简洁的语法,使得其计算机语言以及相关领域中的应用十分广泛。因此,支持高效的正则表达式的文本匹配技术也就显得尤为重要。目前,支持正则表达式的文本匹配的搜索引擎种类很多。但是,基本上所有的正则表达式匹配算法,都采用了自动机理论。也就是说,正则表达式通常先转换成确定(或非确定)有限状态自动机,然后利用自动机在文本中进行搜索匹配。由于需要在线地处理正则表达式并构建自动机,因此,基本上支持正则表达式的文本匹配算法都是在线的。按照匹配类型不同,支持正则表达式的文本匹配可以分为正则表达式的全局匹配与正则表达式的局部匹配。全局匹配是判断字符串是否属于正则表达式表达语言。而局部匹配在判断字符串中的任何子串是否属于正则表达式所表达的语言的同时,并同时需要返回子串的位置信息。根据匹配类型的不同,本文设计了正则表达式的局部匹配和全局匹配的算法。这两个算法都支持离线的处理,并设计了相应的索引结构。对于正则表达式的全局匹配,定义了前-后缀的概念,提出了基于前-后缀的过滤策略,并同时选择了适用于这种过滤策略的索引结构trie树对字符串集合构建了索引。进而,提出了对正则表达表达式进行化简方法。首先对查询的字符串进行化简,通过计算得到其过滤因子:前-后缀集合。然后对待检索的字符串集合进行过滤,得到候选字符串集合。最后采用传统的有限自动机进行验证候选集合。而对于正则表达式的局部匹配,设计了基于BWT的索引结构,定义了正则表达式中不同操作符的运算规则,将正则表达式的文本匹配转换成位置信息列表的处理操作。首先,根据将正则表达式片段在索引中其在文本中出现的位置信息的列表;然后,根据定义的正则表达式中操作符的运算规则对位置信息列表进行相应的操作,得到的位置信息的列表也就是正则表达式在文本中进行局部匹配成功的字符串的位置。最后,进行了大量的实验测试,结果表明本文提出的两种支持正则表达式的文本匹配算法具备较高的查询效率。
其他文献
用石墨粉抑制WO3蒸发和用7种载体物质促进杂质元素蒸发以及增强谱线强度的效果,选择了最佳的载体和光谱测定条件,一次摄谱同时测定高纯WO3中20种杂质元素.
随着电子商务、电子政务等网络应用需求的不断增长,可扩展标志语言数据库(Extensible Markup Language Database,XML Database)技术成为了现代数据库技术的重要研究领域之一
该文首先介绍多播通信的背景知识和分析要实现多播尚需解决的问题,并讨论了典型的路由协议.接着对时延受限多播路由算法进行了较为深入全面的研究.在对支持时延受限多播路由
基于口令的安全协议是指,处于不安全网络信道中的协议参与者,仅在共享低熵口令的条件下完成指定密码学任务的操作过程。这一类协议由于避免使用代价高昂的硬件设备、安全存储和
MGA采用“一维组合码”的编码形式,让处理机序号、任务序号、执行顺序等信息组合到一个染色体内,通过染色体的每个基因位来标示任务分配和任务调度的信息。MGA采用轮盘赌选
无线嵌入式数据库(WEDB)是指支持无线计算环境的嵌入式数据库,它又被称为嵌入式移动数据库系统.无线环境比传统的计算环境更为复杂和灵活.计算平台的移动性、连接的频繁断接
工作流是一种新兴的信息处理技术,主要用来帮助实现面向需求不断变化商业环境下的流程处理工作.工作流管理系统被用来在异构、分布式应用系统架构内定义和驱动业务流程,它的
软件测试是软件生命周期中的一个重要阶段,是保证软件质量的关键.随着面向对象程序设计思想的提出,对面向对象的测试也是软件测试中的一个关键部分.随着软件规模的不断扩大,
1988年,适逢党的十一届三中全会召开十周年。如何在继往开来的变革时期,充分地、实事求是地宣传十年改革的巨大成就,向广大群众进行一次生动的、形象的、有说服力的形势教育
工作流管理系统的主要目标是通过合理地调用和分配有关的信息及人力资源来协调业务过程中的各个活动,以促使业务目标的高效实现。在计算机和网络使用越来越广泛的今天,工作流管理系统正在吸引来自研究机构及产业界越来越多的关注。工作流管理系统中的安全服务包括鉴别、授权、访问控制、审计、数据保密性、数据完整性、不可否认和安全管理,其中授权和访问控制是最重要的部分。基于角色的访问控制是一种灵活的访问控制技术,其基本