README.md 958 字节
Newer Older
X
xindoo 已提交
1
# regex
xindoo's avatar
xindoo 已提交
2

xindoo's avatar
update  
xindoo 已提交
3

xindoo's avatar
xindoo 已提交
4 5
最近学习编译原理,基于NFA实现了正则表达式,代码刚写完,具体内容参考博客[https://blog.csdn.net/xindoo/article/details/105875239](https://blog.csdn.net/xindoo/article/details/105875239),欢迎查阅。  
已实现NFA转DFA,详见博客[从0到1打造正则表达式执行引擎(二)](https://xindoo.blog.csdn.net/article/details/106458165).  
xindoo's avatar
xindoo 已提交
6

xindoo's avatar
xindoo 已提交
7
目前还是demo,算是刚把引擎的骨架搭建起来,后续继续完善代码。  
xindoo's avatar
update  
xindoo 已提交
8 9 10

## 是什么不是什么? 
这个引擎不会是一个可以用在生产环境的项目,但会是一个了解正则引擎背后工作原理的项目。     
xindoo's avatar
xindoo 已提交
11

xindoo's avatar
xindoo 已提交
12 13 14 15 16
## 现状
目前支持的语义   
基本语义: . ? * + () |  
字符集合: [] 
非打印字符: \d \D \s \S \w \W  
xindoo's avatar
xindoo 已提交
17
支持DFA和NFA双引擎 
xindoo's avatar
xindoo 已提交
18

xindoo's avatar
update  
xindoo 已提交
19
## Todo 
xindoo's avatar
xindoo 已提交
20
- [ ] 支持`{}`限定符     
xindoo's avatar
xindoo 已提交
21
- [ ] 支持 `^ $ \b` 等定位符   
xindoo's avatar
update  
xindoo 已提交
22 23
- [x] 实现DFA引擎
- [ ] DFA最小化(Hopcroft算法)   
xindoo's avatar
xindoo 已提交
24
- [ ] 支持捕获和引用