小编top*_*ous的帖子

如果以字符开头,则RegEx不匹配?

我有这个正则表达式:

/(((\w+)|(\.\w+)|(\#\w+)|\*)(\[(.+(=".+"|\*".+"|\^".+"|))\])?(::|:)?)+(?=[ \S]*\{)/gm

我试图用来匹配CSS选择器.考虑这个伪代码CSS输入:

.main {
  property: value;
}

.one, .two a[href$=".com"] {
  .subclass {
    property: value;
  }
}

.test:before, .test:after:active {}
Run Code Online (Sandbox Code Playgroud)

上面的模式将返回以下匹配:

['.body', '.one', '.two', 'a[href$=".com"]', '.subclass', '.test:before', '.test:after:active']
Run Code Online (Sandbox Code Playgroud)

我试图修改模式,以便psuedo选择器不匹配.因此所有其他匹配应该仍然有效,但.test:before应该只是.test.test:after:active应该匹配.test.如果没有负面的后视,或者如果第一个角色是一个不匹配的方法,我想不出这样做的方法:.

我在Node中实现这个,我不想将我的脚本锁定到Node> 9.2.0只是为了在我的正则表达式中使用负面的后台.

任何想法将不胜感激!

javascript regex lookbehind

5
推荐指数
1
解决办法
540
查看次数

标签 统计

javascript ×1

lookbehind ×1

regex ×1