const?cname?=?'[a-zA-Z_][\\w\\-\\.]*'
const?qnameCapture?=?`((?:${cname}\\:)?${cname})` const?startTagOpen?=?new?RegExp(`^<${qnameCapture}`);
這段正則其實只是解析標(biāo)簽的開標(biāo)簽梁剔,看起來有點費力捏膨。
解析:
1 \\. 這里代表的是普通點 . 而不是除了(\n矾睦、\r)之外的任何字符的元字符
2 \\- 就是普通的中劃線-
3 首字母就是大小寫英文字母和下劃線之后可以跟多個[A-Za-z0-9_-.]字符
4 可以將兩個合法的qname以 : 分隔作為完整的標(biāo)簽名
簡單說,較之常見的標(biāo)簽名,合法類型還包括以下幾種:
<_div> ,<div.plus>,<my-div>?<div:subdiv>