自從我對cssparser的糟糕經驗以來,我已經爲自己設定了使用Parboiled在Java中實現CSS解析器的任務。我已經涵蓋了所有的顏色規範,但當然我需要所有其他的...是什麼?是指在W3C CSS規範的標記化部分?
所以,我去尋找CSS規範,並在W3C website上找到它。我現在在所有的「原子」編寫規則的過程中,卻發現一些令人不安this section:
UNICODE-RANGE u\+[0-9a-f?]{1,6}(-[0-9a-f]{1,6})?
擾亂我是[0-9a-f?]
問號的一部分。
段落標題說這裏使用的正則表達式是Lex風格的。 ?
在角色類別中沒有特殊的含義(謝謝@scizzo的確認)。那麼,這是W3C規範中的一個錯誤,還是真的允許在一個Unicode範圍內使用?
?如果是,那是什麼意思?
總結:我有我的答案。但是,規範是錯誤:「問號unicode範圍」只能由其本身。鑑於上述正則表達式,這個表達式將被允許,但它顯然是非法的:u+4??-733f
這是一回事確認,這意味着問號在Unicode範圍內必須是合法的......但我找不到它的含義:/ – fge 2011-12-28 02:45:02
剛剛編輯過,但?基本上是一個通配符。 – sczizzo 2011-12-28 02:46:31
非常感謝鏈接! – fge 2011-12-28 02:54:34