我在一个试图匹配id和类的JavaScript正则表达式中看到了这一点,那么\u007F
和\uFFFF
匹配的是什么?
var split = require('browser-split');
var tag = "#id.classname";
var classIdSplit = /([\.#]?[a-zA-Z0-9\u007F-\uFFFF_:-]+)/;
var tagParts = split(tag, classIdSplit);
我在virtual-dom库中看到过这个,作者打算用它来分割
"#id.classname"
到
["", "#id", "", ".classname"]
答案 0 :(得分:2)
ID selectors的语法#
后面紧跟着标识符。
Class selectors的语法.
后面紧跟着标识符。
identifier定义为
在CSS中,标识符(包括元素名称,类和ID) selectors)只能包含字符[a-zA-Z0-9]和ISO 10646个字符U + 00A0和更高,加上连字符( - )和 下划线(_);他们不能以数字,两个连字符或a开头 连字符后跟一个数字。标识符也可以包含转义 字符和任何ISO 10646字符作为数字代码(请参阅下一个 项)。
注意:CSS3 allows identifiers to start with two hyphens
因此,该正则表达式不正确地尝试匹配#
或.
后跟identifier。
答案 1 :(得分:1)
尝试匹配Unicode基本多语言平面的"Latin-1 Supplement" block是不正确的。
正确的是[\u0080-\u00FF]
。