簡體   English   中英

那是什么?在W3C CSS規范的標記化部分中意味着什么?

[英]What does the ? mean in the tokenization section of the W3C CSS specification?

自從我與cssparser可怕的經驗,我已經給自己設定了實現用Java編寫的CSS解析器的任務蒸谷米 我已經涵蓋了所有顏色規格,但當然我需要所有其他的......

所以,我去尋找CSS規范並在W3C網站上找到它。 我現在正在為所有“原子”編寫規則,但在本節中發現了令人不安的事情:

UNICODE-RANGE   u\+[0-9a-f?]{1,6}(-[0-9a-f]{1,6})?

打擾我的部分是[0-9a-f?]問號。

段落標題說這里使用的正則表達式是Lex風格。 ? 在字符類中沒有特殊含義(感謝@scizzo確認)。 那么,這是W3C規范中的拼寫錯誤,還是? 真的允許在Unicode范圍內? 如果是,那是什么意思?

總結 :我有答案。 但是,規范錯誤的:“問號unicode范圍”只能是它本身。 鑒於上述正則表達式,這個表達式將被允許,而它顯然是非法的: u+4??-733f

是的,這是一個字面問號。 從Flex文檔

請注意,在字符類內部,除了escape('\\')和字符類運算符' - ',']'以及在類的開頭'^'之外,所有正則表達式運算符都失去了它們的特殊含義。

現在,根據W3C, ? 可以用作一種通配符

? 字符意味着'任何數字值'(例如U + 4 ??)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM