Python 是否在 re 模块中使用 NFA 进行正则表达式求值?
有谁知道Python(任何版本)是否使用NFA(非确定性有限自动机)来评估正则表达式,或者是否使用其他机制?请提供链接/参考(如果有)。
Does anybody know if Python (any version) used NFAs (Non-Deterministic Finite Automata) to evaluate regular expressions or does it use some other mechanism? Please provide links/reference if available.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 DFA 上,这应该花费不到一毫秒的时间:
将 25 更改为 100,并且它永远不会终止。
以下是它在 DFA (grep) 上的外观:
http 上对该主题进行了精彩的讨论://swtch.com/~rsc/regexp/regexp1.html
This should take less than a ms on a DFA:
Change 25 with 100 and it won't terminate for a lifetime.
Here is how it looks on a DFA (grep):
There is a great discussion of the topic at http://swtch.com/~rsc/regexp/regexp1.html
美国国家期货协会。
请参阅 Friedl 的掌握正则表达式,第 3 版,第 4 章 - 表 4-1,第 145 页。Google
图书有 预览 。
NFA.
See Friedl's Mastering Regular Expressions, 3rd edition, chapter 4 - table 4-1, page 145.
Google books has a preview to it.