我想知道維基媒體如何將其模型語法({{model|options}})
轉換爲html代碼。 我有一個簡單的模型({{.*?}})
一個正則表達式,但它沒有嵌套的模型(例如:{{model|options containing a {{submodel|options}}...}}
)wikimedia如何轉換其模型語法?
回答
記住,
一些人,當遇到一個問題,認爲「我知道,我將使用 正則表達式。「現在他們有兩個問題。 - 傑米·薩溫斯基
這就是說,你可以閱讀:Forum tags. What is the best way to implement them?我做嵌套標籤的例子,都與「純」正則表達式,並與使用的正則表達式的一點,但保持堆棧「更穩定」 C#編譯器在正則表達式手中。
您可以使用balancing groups
。他們不是「基地」正則表達式的一部分(有些人不認爲它們是真正的正則表達式),
但我不會用類似正則表達式的程序來編寫像Wiki一樣大的東西。正則表達式的問題在於對它們進行編程是非常困難的,所以它們不會回溯(可以選擇這樣做,但是很難創建一個不需要回溯的正則表達式,或者只需要有限的回溯) ,當他們開始回溯時,結果是:他們可能會拖延幾分鐘,尋找合適的捕捉組合。
那麼,你認爲它們如何轉換他們的模型到html代碼? –
@Sébastien通過寫一大塊代碼? :-)這不是仙女。他們可以在我的第一個例子中做一些事情,然後用HTML代碼重建文本(從那裏很簡單)。但是如果你需要一個解析器,我很確定有人已經做到了。例如,嘗試使用Google Creo C#搜索(在codeplex http://creoleparser.codeplex.com/上) – xanatos
HAHA:D - 您知道智能mediawiki開發人員如何解析其未指定的標記? - 是的正則表達式... – sleeplessnerd
- 1. Rails如何將STI模型轉換爲其父模型?
- 2. 語音轉換語言模型?
- 3. 基於OCL的模型轉換語言
- 4. 轉換語言,文字到模型
- 5. 如何將具體語法值轉換爲其他類型的值?
- 6. 如何將模型轉換爲其子代理模型的實例
- 7. 如何取出三維數組並將其轉換爲模型?
- 8. 類型轉換語法不明確
- 9. 如何將此類型的lambda轉換爲Kind-Projector語法?
- 10. 如何Nexted模型轉換爲XML
- 11. 如何將json轉換爲extjs模型?
- 12. 如何將int []轉換爲模型項
- 13. 如何轉換顏色模型
- 14. ServerSocket接受方法 - 如何將其轉換爲子類型?
- 15. 如何將查詢語法轉換爲方法語法
- 16. 如何LINQ方法語法轉換爲LINQ查詢語法
- 17. 如何將Mathematica語法轉換爲latex?
- 18. 如何線性語法轉換爲DFA
- 19. 如何將以下模糊語法轉換爲明確?
- 20. 轉換pyearth模型
- 21. 2d轉換語法
- 22. 將模板從MUSTACHE語法轉換爲LINQ語法
- 23. 如何將ML模型轉換爲MLlib模型?
- 24. 如何將topcased sysml模型轉換爲rhapsody sysml模型?
- 25. java.lang.ClassCastException:com.google.gson.internal.LinkedTreeMap無法轉換爲模型
- 26. c語言類型轉換
- 27. 如何將查詢語法轉換爲流利的語法?
- 28. 如何將語法轉換爲LL(1)語法形式?
- 29. 轉換模型轉換爲視圖模型
- 30. 轉換GAE模型轉換成JSON
[這是不是一個好主意,試圖解析與正則表達式的XML。](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454 #1732454)毫無疑問,它使用了一個真正的解析器。 –
當你要求'regex'有幫助時,你應該總是指定你正在使用的語言。 Javascript的正則表達式不那麼強大,至少對於C#而言,它的強大程度低於Perl – xanatos
我使用的正則表達式與C# –