是否有任何解決方案可以比較兩個正則表達式的包含,部分重疊,不相交,即我想知道如何比較兩個正則表達式。其次,如果正則表達式1被正則表達式2拋出,我可以組合兩個正則表達式。正則表達式比較
Q
正則表達式比較
4
A
回答
4
假設您有兩個表達式A和B,並且想知道A是否匹配B的子集。
您需要計算B的最小化DFA,然後組合這兩個表達式以形成A和B的聯合,然後計算該新表達式的最小化DFA。如果這兩個DFA相等,那麼A匹配B的一個子集。
實質上,如果不經過構造最小化自動機的過程,就無法正確地檢查它。然而,它會給這個問題提供可驗證的真實答案。
結合這兩個表達式可以通過創建一個新的表達式,如(A)|(B)
來完成,如果引擎支持這個表達式,可能會將paranthesis替換爲非捕獲類型。
如果你決定去整個方式做算法,我已經寫了一系列的文章的過程:
http://binarysculpting.com/2012/03/21/dfa-state-minimization/
比較兩個自動機可以檢查狀態和轉換是否相同。他們應該完全平等。
相關問題
- 1. 比較正則表達式
- 2. 正則表達式比較?
- 3. 正則表達式比較表達式
- 4. 用正則表達式比較數據
- 5. 正則表達式boost庫比較
- 6. 匹配比較的正則表達式
- 7. 正則表達式(字符串比較)
- 8. 正則表達式的比較
- 9. 正則表達式風味的比較
- 10. 當正則表達式比較時包含變量的正則表達式
- 11. 比較使用boost ::正則表達式(C++)兩個正則表達式
- 12. 反比正則表達式
- 13. Lua模式匹配與正則表達式的比較
- 14. 比較一些模式與正則表達式C#
- 15. 正則表達式(正則表達式)
- 16. 正則表達式(正則表達式)
- 17. 正則表達式(正則表達式)
- 18. 如何比較Clojure中的兩個正則表達式?
- 19. 將NSString與一串正則表達式比較
- 20. 比較String.endsWith(..)和正則表達式相當於
- 21. 正則表達式意義'[:*] +'並與LINQ請求進行比較
- 22. <init>在perl中使用正則表達式的比較
- 23. javascript正則表達式中的反向引用的比較
- 24. 使用正則表達式比較兩個文檔
- 25. 爲什麼這個ruby代碼比較正則表達式?
- 26. Python與幾個正則表達式比較字符串
- 27. 需要幫助的正則表達式與比較
- 28. 如何搭配比較運營商正則表達式
- 29. Bash正則表達式比較不起作用
- 30. 字符串比較使用正則表達式
是否有任何有效的算法來構造和比較兩個DFA。 – 2012-08-02 09:04:21
有幾個!事實上,我已經寫了一系列關於此事的文章:構建:http://binarysculpting.com/2012/02/15/converting-dfa-to-nfa-by-subset-construction-regular-expressions-part- 2 /最小化:http://binarysculpting.com/2012/03/21/dfa-state-minimization/ – Dervall 2012-08-02 09:05:41