构造正则表达式引擎.docVIP

  • 10
  • 0
  • 约1万字
  • 约 20页
  • 2016-12-30 发布于重庆
  • 举报
构造正则表达式引擎陈梓瀚 华南理工大学计算机软件学院软件工程级本科 注意:阅读本篇前需要阅读《构造可配置词法分析器》,并且最好具有扎实的数据结构基础。 一、问题概述《构造可配置词法分析器》中说明了一个可配置的词法分析器所需要的理论知识,不过仅仅有这些知识还是不足以构造一个正则表达式引擎的。因为正则表达式引擎中有一些功能并不是附加了属性所能够表达的。本篇文章主要解决三个问题: 如何分析正则表达式 如何构造一个基于的纯匹配引擎 如何扩展以便表达正则表达式的高级功能(预查、捕获等) 关于状态机的知识,本篇文章不再重复,请自行阅读《构造可配置词法分析器》。 二、正则表达式现在的绝大多数正则表达式引擎是通过字符串来表达的。之前曾经看见一些在中使用操作符重载以便达到在代码中直接书写正则表达式的正则表达式引擎。实际上这种方法不仅可以在编译的时候就能检查正则表达式是否正确,而且还能省掉处理正则表达式这一步骤。不过硬编码还是有硬编码的局限性的,因此在这里稍微介绍一下如何把一个字符串表达的正则表达式处理成我们所需要的结构。 在《构造可配置词法分析器》曾经提到正则表达式是由字符集合、串联、并联、可选以及重复组成的。但是为了使用的方便,流行的正则表达式都扩展出来非常多的语法。不过由于各家的正则表达式引擎都不尽相同,所以本章并不能作为标准正则表达式教程。但是本章仍然会提出一种实用的正则表达式语法

文档评论(0)

1亿VIP精品文档

相关文档