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

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

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

  • 有线网络仿真实验
    有线网络仿真实验 里面有我自己写的无线网络仿真tcl文件,直接在ns2中运行就可以了
    2022-02-05 07:03:29下载
    积分:1
  • linux 移动机器人 DLite路径规划算法设计、仿真及源码
    linux 移动机器人 DLite路径规划算法设计、仿真及源码,纯linux平台,很适合arm+linux平台,移动机器人的开发
    2022-07-13 03:32:00下载
    积分:1
  • VC++标准微粒群算法源程序
    粒子群算法,也称粒子群优化算法(Particle Swarm Optimization),缩写为 PSO, 是近年来发展起来的一种新的进化算法((Evolu2tionary Algorithm - EA)。程序已验证好用,希望能对大家有所帮助。
    2022-05-19 20:16:36下载
    积分:1
  • 单精度复型fft
    单精度复型fft,适用于任意长度数据~ 
    2022-03-23 00:11:20下载
    积分:1
  • 蚁群算法的源代码,其中详细的实现过程…
    蚁群算法的源代码,里面有详细的实现过程,有很好的参考价值-Ant colony algorithm source code, which the realization of the process in detail, have a good reference value
    2023-01-10 08:50:03下载
    积分:1
  • 子列表代码 c + +
    这个程序基于切削功率用括号将其发送给一个字符串并将其传递到一个列表中的信息和 然后阅读其他信息放在创建所有的列表的子列表的基础如何动态的 c + +
    2022-06-19 12:10:36下载
    积分:1
  • AC算法思想:
    AC算法实例说明报告 AC算法思想: AC算法基于有限状态自动机(FSA),在进行匹配之前先对模式串集合SP进行预处理,形成模式树(树形FSA),然后只需对文本字符审T扫描一次就可以找出所有与其匹配的模式字符串P。模式树K的构成如下; (1)K的每一条边e上都用1个字符作为标签; (2)与同一节点相连的边的标签均不同; (3)每1个模式P∈SP都存在1个节点v,使得L(v)=p,其中L(v)表示从根节点到v所经过的所有边上的标签的拼接;                               &nbs
    2022-11-30 18:15:03下载
    积分:1
  • 想研究透彻正则表达式,必须知道有穷自动机的原理,这个源码可以给你一个很好的示例参考。编译后程序会生成一个可执行文件,运行这个文件出来一个DOS窗口,然后按提示输...
    想研究透彻正则表达式,必须知道有穷自动机的原理,这个源码可以给你一个很好的示例参考。编译后程序会生成一个可执行文件,运行这个文件出来一个DOS窗口,然后按提示输入正则表达式。-Wish to research thoroughly regular expressions, you must know the finite automata theory, this source can give you a good example for reference. The compiled program generates an executable file, run this file out of a DOS window, and then enter the regular expression and follow the prompts.
    2023-05-02 22:15:03下载
    积分:1
  • 根据前序序列和中序序列生成二叉树并进行遍历。
    根据前序序列和中序序列生成二叉树并进行遍历。-sequence and the sequence sequence sequence generation and binary tree traversal.
    2022-01-26 00:59:22下载
    积分:1
  • sound_check_by_MCU
    通过MCU检查声音
    2022-07-07 00:57:08下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载