0
A
回答
2
的XQuery Grammar在E-BNF指出。 BNF是用於上下文無關文法的符號,其比常規語法(其例如由正則表達式描述)限制更少。通常,在Chomsky Hierarchy上沒有辦法將語法轉換成語言較低。
很多理論計算機科學的,沒有人告訴我們可以肯定的XQuery工作組不只是使用BNF爲了方便,也可以使用正則表達式來描述語法。
但是讓我們換個角度來看。 XQuery允許從其他模塊加載任意代碼。如果實現允許,甚至允許HTTP資源,例如。 import module namespace functx = "http://www.functx.com" at "http://www.xqueryfunctions.com/xq/functx-1.0-nodoc-2007-01.xq";
(不要在你的應用程序中這樣做,鏡像functx庫 - 從網頁加載速度會更慢,functx的人不會喜歡你)。所以你需要解析(至少一些部分)你的XQuery甚至獲得所有的代碼。
選擇一些XQuery實現並使用它。有lots around,Apple甚至在NSXML中包含一個。
0
不,上下文無關語言,它不是一般的語言不能使用正則表達式來識別。
更具體地說,CF語言需要一個無限的存儲器結構(像堆棧)才能被解析,而常規語言識別則不是這樣,只需要固定數量的存儲器(對於有限自動機)。
XQuery是其實用非常複雜語法的語言。它包含整個XPath 2.0語言作爲子集。在過去,我爲XPath 2.0創建了一個解析器,並且知道它的語法。它有大約210條規則。這本身講述了XPath 2.0的複雜性,XPath 2.0只是XQuery的一個子集。
相關問題
- 1. vi:有沒有辦法來處理正則表達式匹配?
- 2. 通過正則表達式驗證
- 3. 有沒有什麼辦法可以在c#中使用正則表達式?
- 4. 有沒有Rails的標準正則表達式驗證器?
- 5. 有沒有辦法找到正則表達式的逆
- 6. emacs lisp有沒有辦法改善這個正則表達式
- 7. 有沒有辦法讓JSLint滿意這個正則表達式?
- 8. 正則表達式PHP沒有正確驗證
- 9. 正則表達式來驗證以JavaScript
- 10. 正則表達式來驗證名稱
- 11. 正則表達式來驗證圖像
- 12. 正則表達式來驗證網址?
- 13. 正則表達式來驗證A123456
- 14. 正則表達式來驗證雙值
- 15. Rails的模型沒有格式驗證,正則表達式
- 16. 無法通過正則表達式驗證的捕獲字符
- 17. 正則表達式驗證
- 18. 正則表達式驗證
- 19. 正則表達式驗證
- 20. 正則表達式驗證
- 21. Laravel - 正則表達式來驗證信用卡到期有效
- 22. 正則表達式來驗證所有的電話號碼
- 23. 正則表達式來驗證有效時間
- 24. C#正則表達式驗證驗證
- 25. 正則表達式語法驗證器
- 26. 正則表達式驗證高度沒有撇號
- 27. 德爾福:驗證電子郵件沒有正則表達式
- 28. 驗證字符串while循環java沒有正則表達式
- 29. 沒有空間Zend驗證正則表達式
- 30. 正則表達式來驗證練成像數學表達式
總的來說:沒有。正則表達式通常不適合這份工作。但是,也許它們可以用於*您的具體情況*,這應該在帖子中討論。 – 2011-12-30 04:07:10