应用此正则表达式模式:
/(?:(^| |\>|\+))+([a-z\-\_]+)/gi
到这个字符串:
body.test ol+li ol > li #foobar p>span a[href=*]
我得到这些匹配,逗号分隔:
body, ol,+li, ol, > li, p,>span, a
为什么有些匹配有前导空格和符号?我希望我的正则表达式的这一部分与这些标志匹配,但不捕获它们。
>
+
(?:(^| |\>|\+))
编辑:我正在尝试匹配有助于 css 选择器的 css 特异性的 html 标记和 css 选择器。因此,我想单独匹配每个li
或span
等等,而不需要+
or >
。