返回列表 发帖

再问书中的 “手误”? 求解说..........

精通····第3版
P145
最后一个段很绕啊  看不懂.........

P147
顶头辨别DFA和POSIX NFA的部分
第一段、第3行看不懂啊,最后那句“就会使用DFA”难道应该是“就会是DFA”?
结论部分,说运行时间长会是NFA。最后一句又说如果报错也是NFA?!

本帖最后由 Yurii 于 2009-12-2 19:17 编辑

145页最后一段的意思是:
以上分类中所说的POSIX NFA,只提供了POSIX规范要求具备的功能,但使用这些功能的结果却可能不同于POSIX规范。

147页第1段第3行的意思是:
某些系统中会混合使用POSIX NFA和DFA,如果用户输入的表达式不需要用到DFA没有的功能,此系统就会使用DFA(因为DFA速度更快)。

结论部分的意思是:
如果堆栈溢出或者超时,就是NFA,因为假如是DFA,则匹配很快,不会产生这样的情况。

不知道这样解释你是否清楚

TOP

@Lie_li同学看书很仔细,表扬一下,向你学习!我看书的习惯是先大致浏览一遍,对整体架构有所了解,然后再细细阅读。像DFA/NFA这些章节,第一、二遍在看时都是先略过去了,呵呵。后来看了“紫龙书”,才算理解什么是DFA,什么是NFA,从原理上知道了为什么DFA要快很多倍。现在再看MRE,就轻车熟路了。不过,“能理解”和“能表达”还是有区别的,呵呵。感谢余晟先生抽空作答。
在答疑解惑版提问时,请注明所用语言、范例文本、匹配结果。谢谢!
------------------------------------------------------------------------------
我爱正则表达式
GTalk: rex[at]zhasm[dot]com
Twitter: rex_zhasm

TOP

反复看了几遍2楼的解释 好像明白了点

谢谢了

TOP

提示: 作者被禁止或删除 内容自动屏蔽

TOP

返回列表