4
A
回答
7
使用邁克爾·西蓬瑟的Introduction to the Theory of Computation。第1章給出了在證明它們的等價性(DFA,NFA和正則表達式可以完全匹配相同的類)的情況下將正則表達式轉換爲確定性或非確定性有限狀態自動機(DFA或NFA)的詳細算法的字符串)。
總體思路是:將正則表達式轉換爲NFA,這可以非常直接地完成(*
是一個循環,|
,字符範圍是分支點)。然後,您將NFA轉換爲(更大的)DFA,其中包括爲替代NFA狀態的每個集合創建一個DFA狀態。 DFA的狀態與NFA狀態集合的狀態一樣多(例如,具有3個狀態的NFA可以被轉換爲最多2^3 = 8個狀態的DFA),並且可以識別任何目標字符串而不回溯。詳細閱讀本書。
相關問題
- 1. 將JavaScript正則表達式轉換爲PHP正則表達式?
- 2. 將Java正則表達式轉換爲PHP正則表達式
- 3. 將Perl正則表達式轉換爲SQL正則表達式
- 4. 將Perl正則表達式轉換爲Python正則表達式
- 5. 將PHP正則表達式轉換爲VB.Net正則表達式
- 6. 將php正則表達式轉換爲java正則表達式
- 7. 將Perl正則表達式轉換爲POSIX正則表達式
- 8. 將C#正則表達式轉換爲JavaScript正則表達式
- 9. 將perl正則表達式轉換爲python正則表達式
- 10. 將EBNF轉換爲正則表達式
- 11. 將正則表達式轉換爲CFG
- 12. 將URL轉換爲正則表達式
- 13. 轉換爪哇正則表達式爲Javascript正則表達式
- 14. 將C#.Net正則表達式轉換爲Java正則表達式模式
- 15. 如何將正則表達式轉換爲extglob表達式?
- 16. 將正則表達式轉換爲NFA轉換表
- 17. 如何將python正則表達式轉換爲java正則表達式?
- 18. 將Java正則表達式運算符轉換爲Scala正則表達式
- 19. 將普通正則表達式轉換爲bash證明正則表達式
- 20. 將正則表達式轉換爲sed或grep正則表達式
- 21. 需要幫助將Perl正則表達式轉換爲Javascript正則表達式
- 22. 自動將Java正則表達式轉換爲Ruby正則表達式?
- 23. 如何將javascript正則表達式轉換爲php正則表達式?
- 24. 將php正則表達式轉換爲android java正則表達式
- 25. 如何將java正則表達式轉換爲mysql正則表達式
- 26. 正則表達式轉換
- 27. 將正則表達式轉換成圖
- 28. 將有限狀態機表示爲RDF?
- 29. Perl有限狀態機快速解析,正則表達式生成
- 30. 將分頁列轉換爲具有正則表達式的行
是不是're.compile'基本上在做什麼?你想重寫一個正則表達式引擎嗎? – Bruce 2012-07-11 06:17:22
嘗試使用're.DEBUG'選項編譯正則表達式。 – JBernardo 2012-07-11 06:24:22
這是一堂課的作業嗎? – 2012-07-11 07:39:39