我正在尝试使用以下表达式解析CSS文件:
rulePatt = new RegExp("(?<=\\s)(?<!\\:\\s)#.*?\\{.*?\\}","gm");
它可以在我使用的两个不同的正则表达式测试器中使用,但是当我将其放到野外时会生成javascript错误:
Uncaught SyntaxError: Invalid regular expression: /(?<=\s)(?<!\:\s)#.*?\{.*?\}/: Invalid group
在这里摆弄小提琴,以形成对我要实现的目标的印象:http : //jsfiddle.net/LoomyBear/44XtU/1/
我想我在这里错过了一些非常重要的事情。请帮忙...谢谢!
您可以使用此模式
var regex = /(?:^|[^:])\s(#[^{]*\{[^}]*\})/gm;
您的结果在第一个捕获组中。
说明:
(?:^|[^:]) # begining of the line or a character that is not a :
\s # a white space
(#
[^{]* # all characters expect { zero or more times
\{
[^}]* # all characters expect } zero or more times
\})
后面的第一眼(?<=\s)
在尖锐字符前加了一个空白,这就是我之前写一个\ s的原因。后面的第二个注视(?<!:\s)
禁止:
在此空格之前使用a ,因此,在此位置仅允许不输入任何内容(即:行的开头)或不包含空格的字符:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句