Skip to content

lanshenjialidun/My-RegexEngine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 

Repository files navigation

My_RegexEngine

Ps: 在2015年1月寒假的前半段,在大二上学期自学编译原理的过程中,我学习了有关正则表达式的内容,并利用寒假实现了这个不太完善的第一个正则表达式引擎,代码有1K行,只支持简易的正则表达式判断。

开发环境:

windows vs2013 如果出现问题错误:stack around the variable “XX” was corrupted. 把“project->配置属性->c/c++->代码生成->基本运行时检查 设置为默认值,就没有这样的错误了。

过程 :

Re->NFA->DFA

样例

Re:a(b|c)a(b|c*) 字符串: babaaaabab 匹配字符串:#aba##abab (#代表匹配失败)

具体算法:

Re->NFA: 利用Thompson算法。 NFA->DFA: 利用子集构造法。

遗憾 :

只支持常规的正则表达式,没有其它的特性是一个遗憾,在我深入学习的以后,我还会再实现一个更加 完善的正则表达式引擎。 写于2015.1.28 凌晨

About

一个简易的正则表达式引擎,C++编写

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 100.0%