推 LiloHuang: 這是相當常見的 Catastrophic Backtracking 問題 03/08 23:41
→ LiloHuang: 時間複雜度至少會是 Exponential time complexity 03/09 00:14
→ LiloHuang: 而 Perl 的 RegExp 引擎,具備有上述問題的偵測能力 03/09 00:15
→ LiloHuang: 可在 Perl script 內,第一行加入 use re 'debug'; 03/09 00:16
→ LiloHuang: 執行後可輕易觀察出其匹配的規則,以及錯誤偵測的方式 03/09 00:17
→ colorless: 感謝高手補充說明 :) 03/09 21:30
→ carylorrk: 以前學 compiler 的時候都只教最簡單的 DFA,感覺超有 03/12 01:34
→ carylorrk: 效率,但是後來才知道實際上在用的複雜多了 03/12 01:35
推 LPH66: DFA-based engine 不好寫, 而且碰到這種狀況狀態數會爆炸多 03/12 18:40
→ LPH66: (跟 NFA-based engine 的執行時間一樣是指數成長) 03/12 18:41
→ LPH66: 某種程度上其實可以說 NFA based 拿時間換空間 03/12 18:41