正則表達式如何處理?正則表達式如何處理?
1
A
回答
6
正則表達式描述state machine的規則集。它通常一次移動一個字符串中的一個字符,根據前一個字符發生的情況以及正則表達式中的內容做出決定。
任何正則表達式也可以寫成一個字符串一個字符的循環。其中一些可能相當簡單,但正則表達式的功能可以在看起來像一個簡單的正則表達式時找到,只需要一些反向和子組就可以在自己的狀態機上重新生成一千行代碼。
6
正則表達式可以被建模爲Deterministic Finite State Machine。如果你想「處理」一個,這可能是一個很好的開始。
2
這個問題非常廣泛。這不是一個完整的答案,但是Jeff Moser在他的博客上有一篇很好的文章,講述了.NET的正則表達式過程:How .NET Regular Expressions Really Work
我懷疑其他答案會揭示正則表達式的其他區域,除非您的問題更新爲更加詳細一些。
2
這將取決於您所指的是哪種正則表達式實現。
有在正則表達式引擎使用2種共同但有不同的技術:
這MSDN article解釋了各種發動機實施了多項技術,然後接着解釋說:.NET的實現以及爲什麼微軟選擇他們爲.NET選擇的東西。
他們會在您看到列出的各種文章here中更加深入。
1
0
儘管每個人都在這裏說,有關國家機器,你可以使用遞歸若干技術問題探討用很少的狀態寫一個非常簡單的正則表達式識別器。 Brian Kernighan的兩本書中的軟件工具Pascal和The Practice Of Programming中都有這些例子。
相關問題
- 1. 正則表達式處理
- 2. GAE如何處理正則表達式URL處理程序?
- 3. 正則表達式處理HTML
- 4. 正則表達式來處理cookies
- 5. 處理Ping數據(正則表達式)
- 6. 正則表達式:處理參數
- 7. 正則表達式或批處理
- 8. 正則表達式 - 不處理DLE
- 9. 紅寶石正則表達式處理
- 10. Java的正則表達式處理
- 11. 處理多個正則表達式組
- 12. 在ruby中處理正則表達式
- 13. 通過正則表達式處理'#'
- 14. 正則表達式和文件處理
- 15. PHP正則表達式處理括號
- 16. 無法處理此正則表達式
- 17. 如何正確處理正則表達式匹配
- 18. 如何處理具有多種模式的正則表達式?
- 19. 在正則表達式中處理表達式?只有
- 20. 正則表達式理解
- 21. 正則表達式理論
- 22. 正則表達式代理
- 23. 如何處理在Python中具有unicode的正則表達式?
- 24. 如何在Scala中應用正則表達式處理輸出?
- 25. 如何使用正則表達式處理文本文件?
- 26. 如何處理python中的正則表達式?
- 27. 我該如何處理這個正則表達式問題?
- 28. 正則表達式在Java中:如何處理新行
- 29. 如何在Java中處理以下PHP正則表達式?
- 30. 如何處理與邊界'\\ G'相關的正則表達式?
這需要更多的上下文。有許多不同的技術。 – 2009-07-31 20:46:16
我認爲你需要在這裏更具體,除非你想得到像「電腦那樣」的答案。 – 2009-07-31 20:47:12