我正在尝试使用regexp来解析基本的CSS选择器,例如:" tag.class #id tag"
我已经能够使用/\.\w+/
使用/#\w+/
匹配该类,并且使用/[^\.#\w+]\w+/
我可以匹配最终标记(加上前面的空格)/[^#.]\w+/
,但到目前为止,我一直无法找到匹配这两个标签的方法。
我试图匹配那些不是以#&#39;#&#39;开头的字眼。和&#39;。&#39;,例如使用/(?<!#)\w+/
(除了&#39;。&#39;#&#39;#&#39;之外的所有内容),或使用类似{ {1}}(没有任何匹配),失败了。
是否可以匹配一组单词字符,只要它起始于某个字符,例如&#39;。&#39;或&#39;#&#39;?
答案 0 :(得分:0)
如果您使用:
/\w+/g
然后它将返回包含任何这些字符的所有单词:
]a-zA-Z0-9_]
这不包括.
或#
但是,如果您想要捕获非.
和#
的任何非空格字符组,请使用:
/[^.#\s]+/g
这将匹配除.
和#
以及空白区域以外的任何内容。
如果你支持lookbehind,那么你可以使用:
/(?<![.#])\b([^.#\s]+)\b/g