fge*_*fge 6 css unicode grammar lex
自从我与cssparser可怕的经验,我已经给自己设定了实现用Java编写的CSS解析器的任务蒸谷米.我已经涵盖了所有颜色规格,但当然我需要所有其他的......
所以,我去寻找CSS规范并在W3C网站上找到它.我现在正在为所有"原子"编写规则,但在本节中发现了令人不安的事情:
UNICODE-RANGE u\+[0-9a-f?]{1,6}(-[0-9a-f]{1,6})?
Run Code Online (Sandbox Code Playgroud)
打扰我的部分是问号[0-9a-f?]
.
段落标题说这里使用的正则表达式是Lex风格.在?
有字符类(感谢@scizzo为确认)没有任何特殊含义.那么,这是W3C规范中的拼写错误,还是?
真的允许在Unicode范围内?如果是,那是什么意思?
总结:我有答案.但是,规范是错误的:"问号unicode范围"只能是它本身.鉴于上述正则表达式,这个表达式将被允许,而它显然是非法的:u+4??-733f
是的,这是一个字面上的问号。来自 Flex 文档:
请注意,在字符类内部,除了转义符 ('\') 和字符类运算符 '-'、']' 以及类开头的 '^' 之外,所有正则表达式运算符都会失去其特殊含义。
现在,根据 W3C,?
可以用作一种通配符:
?
字符表示“任何数字值”(例如 U+4??)
归档时间: |
|
查看次数: |
159 次 |
最近记录: |