- 入门:Regular Expression 簡介
- 概念:正则表达式wiki
- 站点:Regular-Expressions.info
- 总结:Regexp Syntax Summary
- 手册:Regular Expression Pocket Reference
- 其他:Implementing Regular Expressions
精通正则表达式:Mastering Regular Expressions
看中文版的好处一是速度快,而是把之前英文版草草翻过的部分重新仔细看一遍,效果比较好。
中文版总体感觉翻译的挺不错的,特别是后面5、6、7三章,整个行文比较清晰。
不过里面把非贪婪模式翻译成忽略优先、前后向匹配翻译成环视,每次都要顿一下才反应过来,极其别扭。
NFA 与 DFA
Mastering Regular Expressions - 4.3. Regex-Directed Versus Text-Directed
NFA会根据各个子正则式依次进行匹配。
DFA则会同时匹配可能满足条件的子正则式,也就是说在匹配完成前会保存所有可能的中间态。
比如to(nite|knight|night)
的匹配字符串tonight:
如果是NFA:先匹配nite,不行再回溯匹配knight,还不行再回溯匹配night,最后确认成功匹配。
如果是DFA:将同时匹配nite以及night的ni,发现只有night匹配nig,继续匹配完night,最后确认成功匹配。
没有评论:
发表评论