我试图使用regexp解析一个基本的CSS选择器,例如:"tag.class#id标记“
我已经能够使用/\.\w+/
匹配类,使用/#\w+/
来匹配ID,并且能够使用/[^\.#\w+]\w+/
匹配最终标记(加上前面的空格),但是到目前为止,我还没有找到匹配这两个标记的方法。
我试图匹配不以“#”和“.”开头的单词,例如使用/[^#.]\w+/
(它匹配除“.”之外的所有单词。)以及“#”,或者使用类似于/(?<!#)\w+/
(与任何内容都不匹配)的lookbehind,都失败了。
是否有一种方法来匹配一组单词字符,只要它不是以某个字符开始,比如‘’。还是“#”?
发布于 2015-04-18 21:03:07
如果你使用:
/\w+/g
然后,它将返回包含以下任何字符的所有单词:
]a-zA-Z0-9_]
这不包括.
或#
但是,如果要捕获非.
和#
的任何非空间字符组,请使用:
/[^.#\s]+/g
这将与.
、#
和空白相匹配。
如果您支持查找,那么您可以使用:
/(?<![.#])\b([^.#\s]+)\b/g
https://stackoverflow.com/questions/29725982
复制相似问题