登录
首页 » 算法 » 一个用MASM写的正则表达式引擎

一个用MASM写的正则表达式引擎

于 2022-05-27 发布 文件大小:678.10 kB
0 173
下载积分: 2 下载次数: 1

代码说明:

此正则表达式引擎属于正统的NFA引擎,基本兼容Perl,简单说一下引擎是怎么实现的: 首先做一个递归下降语法分析,利用栈把正则表达式转换成NFA(以有向图的形式表现),再遍历NFA判断是否能到达完成节点。 实现正则表达式匹配的各种复杂功能的力量来自于回溯,而回溯的基础是栈,回溯能力是通过栈来达成的。 栈中保存了匹配路径中所有的状态,状态回溯就是出栈,状态匹配就是入栈。 除了回溯,一些扩展功能的实现也是通过栈来完成的,比如捕获和零宽断言,都要通过搜索或操纵栈来完成。 转换成NFA再匹配的好处是简化匹配和利于优化和DEBUG:因为不管再复杂的表达式转换成NFA之后只有边和节点组成,边和节点也只有顺序、分支、循环这三种形式组成。 详细原理说明看下面关于实现引擎的文章,第3条是我理解引擎匹配原理的入门参考。 支持GBK和UTF8编码   ==参考和学习资料== 关于实现引擎的文章: 1、《Perl语言编程》第五章  书 2、《精通正则表达式》  书 3、构造正则表达式引擎   http://www.cppblog.com/vczh/archive/2008/05/22/50763.html   我的原理学习入门参考 4、NFA引擎匹配原理   http://blog.csdn.net/lxcnn/article/details/4304651 5、英文参考资料   请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 一种新的快速排序方
    一种新的快速排序方法-a new rapid sequencing methods
    2022-02-15 13:21:48下载
    积分:1
  • 一个毕业程序设计,是用小波和支持向量机对电能质量扰动的识别与分类,主要利用的能量特征。...
    一个毕业程序设计,是用小波和支持向量机对电能质量扰动的识别与分类,主要利用的能量特征。-A graduate program design is the use of wavelet and support vector machines for power quality disturbance recognition and classification, the main characteristics of energy use.
    2022-05-14 22:36:54下载
    积分:1
  • FP增长频繁项集挖掘
    资源描述FP-growth算法是一个程序来发现频繁项集(关闭和最大以及发电机)与FP-growth算法(频繁模式增长[韩等。2000),表示事务数据库的前缀树,这是加强与链接,组织节点到列表中指同一项目。搜索是通过突出的前缀进行的树,递归地工作结果,并修剪原始树。实施还支持封闭和过滤最大项目集有条件项集库在[ 2003 ]格兰恩和朱,虽然在程序中使用的方法不同于它采用自顶向下的前缀树而不是FP树。它不包括FP树的巧妙的实现两个整数数组作为[ 2004 ] rasz建议。自版本与6上面所用的程序也可以用来查找关联规则。
    2023-04-11 15:50:04下载
    积分:1
  • 用样条拟和函数,拟和函数。Matlab编程
    用样条拟和函数,拟和函数。Matlab编程-used to be and the kind of function, and to function. Matlab programming
    2022-02-01 09:55:06下载
    积分:1
  • 拟合小程序,可以看看!
    拟合小程序,可以看看!-small fitting procedures, we can!
    2022-06-13 12:45:59下载
    积分:1
  • MOWCATL 的源程序代码,使用 c + +
    此代码运行MOWCATL(最小出现次数用约束和时间滞后问题)算法是一种流行的数据挖掘算法。该算法是用于频繁episodal型态的发现和对气候的研究非常有用的。 MOWCATL算法由雪莉危害和Jitender Deogun(2004年,http://link.springer.com/article/10.1023/A:1025824629047)开发和广泛的地区使用该算法适应于他们的应用程序。该算法是一个给定的时间间隔参数中的顺序关联模式。对于该算法的详细说明,以上的链接都可以使用。
    2022-03-03 11:27:13下载
    积分:1
  • msp430温度检测
    基于msp430的温度检测,温度检测用的是ds18b20。里面配套的ad10原理图,pcb图,非常适合msp430初学者学习。
    2023-04-30 11:15:04下载
    积分:1
  • 无记忆Saleh模型,用于无记忆放大器非线性失真反正运
    无记忆Saleh模型,用于无记忆放大器非线性失真反正运算!-No-momry saleh
    2022-02-09 17:31:59下载
    积分:1
  • ABAP 选择屏
    代码诠释了选择屏幕几种重要控件的用法 SELECTION-SCREEN BEGIN OF BLOCK 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-04-19 18:09:54下载
    积分:1
  • insertion排序
    insertion排序-Insertion sort
    2023-03-03 04:45:03下载
    积分:1
  • 696516资源总数
  • 106432会员总数
  • 11今日下载