背景:我正在開發一個自定義類正則表達式的URL文件的語法。它的工作是這樣的:解析自定義的字符串生成模式語法
- 用戶寫入的模式,像
"[a-z][0-9]{0,2}"
的東西,並把它作爲輸入 - 它是由程序解析並翻譯成組排列的它即代表
'a'
,'a0'
,'a00'
...'z99'
這些模式將在複雜性,基本上任何可能出現在URL文件名必須適應。該語言是Java或PHP,但任何語言或抽象/概念上的幫助都非常受歡迎。
我的問題是:
- 哪裏開始以 「分析器」 的實施對上述
和同樣重要的是,
- 如何將編譯後的複雜圖案轉換爲字符串
你能詳細說明爲什麼正則表達式不適合這個問題嗎? – GrayWizardx 2009-12-19 02:33:24
這是非常有趣和困難的問題。這是一個Ruby測驗的主題:http://rubyquiz.com/quiz143.html。我喜歡的Ruby的一個特點是例如('a'..'zzzzz')。each {| x | puts x}打印所有大小爲1到5的小寫字母組合。 – mykhal 2009-12-19 03:08:18
@GrayWizardx您如何使用正則表達式算法的排列部分? – axada 2013-06-11 03:51:42