爲什麼重複的字符串如 [wcw | w是a和b的字符串] 不能用正則表達式表示? 給我詳細的答案,因爲我是詞彙分析的新手。 謝謝...正則表達式詞法分析
2
A
回答
5
正則表達式描述正規語言/語法。那些不能包含嵌套結構的語言可以用簡單的有限狀態機來描述。簡化後,您可以看到,語言中的每個詞都嚴格按照從左到右(或從右到左)的方向生長,其中重複結構必須明確定義並且是靜態的。
這意味着,沒有從先前的狀態信息任何可以(在輸入進一步幾個字符)結轉以後的狀態。所以如果你有你的符號w你不能指定輸入必須具有完全相同的字符串w後面的序列。同樣,你不能保證每個開口paranthesis需要closin括號以及(所以正則表達式本身,甚至沒有一個正規的語言,因此無法用正則表達式:-)描述)。
在我們有非常嚴格的一套regex操作符的工作理論計算機科學,基本上只包括序列,替代(|)和重複(*),其他的一切可以用這些操作進行說明。
然而,通常正則表達式引擎允許的某些子圖案分組爲隨後可被引用的或以後提取匹配。一些引擎甚至允許在搜索表達式字符串本身中使用這樣的反向引用,從而允許表達式不僅僅描述常規語言。如果我沒有記錯的話,這種反向引用的使用甚至可以產生沒有上下文的語言。
其他指針:
2
它可以,你不能保證它的相同串的「一個」 S和「b」是因爲沒有辦法保留在遍歷上半年獲得的信息用於遍歷第二個。在他們的原始形式
相關問題
- 1. 分詞正則表達式
- 2. 如何使用正則表達式(詞法分析)表達類似cpp的字符串(詞法分析)
- 3. 模糊正則表達式,文本處理,詞法分析?
- 4. 在萊克斯正則表達式(詞法分析器)
- 5. 在詞法分析器中的條件正則表達式
- 6. FLEX(詞法分析器)正則表達式 - 重用定義
- 7. 正則表達式解析長詞
- 8. 正則表達式分裂一個詞
- 9. 正則表達式 - 德語分詞
- 10. 正則表達式分開單詞
- 11. 正則表達式量詞
- 12. 否定詞組? - 正則表達式(正則表達式)
- 13. 用正則表達式分析和絃
- 14. 正則表達式分析的問題
- 15. Python正則表達式分析變量
- 16. HTML分析正則表達式
- 17. 正則表達式的SQL分析
- 18. 谷歌分析的正則表達式
- 19. 正則表達式爲谷歌分析
- 20. 谷歌分析正則表達式
- 21. URL分析正則表達式
- 22. 正則表達式{}解析
- 23. 正則表達式解析
- 24. 正則表達式解析
- 25. Webpack無法解析正則表達式
- 26. 是否有可能使用正則表達式分析正則表達式
- 27. 正則表達式的表達式分析在C#中
- 28. 在詞法分析器中正則表達式匹配的問題
- 29. 使用正則表達式庫在C++中創建詞法分析器?
- 30. DFA與正則表達式在實現詞法分析器時的作用?
記住,解析是我參加了研究生院(編譯I)最難的課程之一的主要議題。已經有相當不錯的答案,但您可能沒有背景可以使用它。 – 2009-03-05 20:54:47
好吧,這並不容易。但有時候,至少它很有趣。儘管這裏包括了優化以及超越解析的幾種算法。 任何想法如何使這個帖子更清楚的人沒有太多的背景? - 。 - – Joey 2009-03-05 21:43:10