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

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

于 2022-05-27 发布 文件大小:678.10 kB
0 166
下载积分: 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 个回复

  • 椭圆拟合的,简单实用,不用复杂的迭代,很容易看懂!...
    椭圆拟合的算法,简单实用,不用复杂的迭代,很容易看懂!-Ellipse fitting algorithm, is simple and practical and not complicated iteration, it is easy to understand!
    2022-02-10 03:59:29下载
    积分:1
  • FibnachC
    实现超长位数的Fibnach数列的计算程序,用C++语言实现。-FibnachC
    2022-07-27 19:49:59下载
    积分:1
  • mobus通信51程序
    modbus RTU 的C51程序  单片机89S52 通信波特率 9600 8位数据 1位停止位 偶校验 485通位接口 单片机控制板地址 localAddr(变量) 通信可设置数据的地址: 字地址 0 - 255 (只取16位的低8位) 位地址 0 - 255 (只取16位的低8位)
    2022-04-16 05:51:15下载
    积分:1
  • 一个VC++生成DElaunay三焦网的简洁易懂的代码,提供可变随机点数目。...
    一个VC++生成DElaunay三焦网的简洁易懂的代码,提供可变随机点数目。-A VC++ Generate Delaunay Sanjiao network easier to understand the code, providing a variable number of random points.
    2023-05-11 16:55:04下载
    积分:1
  • 多目标Pareto最优解搜索
    多目标优化是指在约束条件下有两个或两个以上的优化目标,而且这些目标之间相互矛盾,不能同时达到最优,也就是说,一个目标的最优往往是以牺牲其它目标作为代价的,因此多目标优化问题存在多个最优解,这些解之间无法比较优劣,统称为Pareto最优解。带精英策略的快速非支配排序遗传算法(Nondominated Sorting Genetic Algorithm II,NSGA-II)是目前应用较为广泛的一种多目标算法。本案例将对MATLAB自带的改进的NSGA-II进行讲解,并举例说明其应用。
    2022-02-11 16:55:06下载
    积分:1
  • 基于蚁群求解VRP问题的C++源码
    从同学那里拷贝的,用于求解VRP问题的源码,希望对研究车辆路径问题的同学有点启发!从同学那里拷贝的,用于求解VRP问题的源码,希望对研究车辆路径问题的同学有点启发!从同学那里拷贝的,用于求解VRP问题的源码,希望对研究车辆路径问题的同学有点启发!从同学那里拷贝的,用于求解VRP问题的源码,希望对研究车辆路径问题的同学有点启发!
    2023-08-06 00:25:04下载
    积分:1
  • four color problem
    四色问题-four color problem
    2022-01-25 16:27:07下载
    积分:1
  • 感知器的demo,批处理模式识别作业type.typically有用
    感知机算法演示程序,批处理。用于模式识别课程作业-perceptron demo,batch type.typically useful to Pattern Recognition homework
    2023-04-16 14:05:04下载
    积分:1
  • 基于矢量量化的手写体数字识别系统
    本算法中用来训练和测试的手写体数字均来自于60000张训练数字示例和MNIST数据库中的图像已经做过位置归一化等基本处理,即已经使手写体数字处于图像的中心位置,删除了众多干扰信息,为本实验的进行降低了难度。30000个训练集样本的和
    2022-01-26 01:07:50下载
    积分:1
  • 最优潮流计程序(使用电力系统专业,属于非线性规划问题)....
    最优潮流计算程序(使用电力系统专业,属于非线性规划问题).-optimal power flow calculation procedure (using power systems professional, is Nonlinear Programming).
    2022-04-30 05:41:37下载
    积分:1
  • 696518资源总数
  • 106208会员总数
  • 21今日下载