2010年1月23日星期六

[转]Javascript的正则表达式中的子式

今天看jQuery源码的时候看到了如下代码:

quickExpr = /^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/;

if ( typeof selector === "string" ) {
            // Are we dealing with HTML string or an ID?
            match = quickExpr.exec( selector );

            // Verify a match, and that no context was specified for #id
            if ( match && (match[1] || !context) ) {
......
}
else {
......
}
}

查资料知道了:http://www.w3school.com.cn/js/jsref_exec_regexp.asp
上面的正则表达式中的子式有两个“<[\w\W]+>”和“[\w-]+”。它们都用小括号包围,分别代表了html标签和id两种输入情况。
而match[1]存在时则是html的标签,match[2]存在时则是id。

没有评论: