我有一个样式表:
a,b,c { stuff
lots of it
}
b { more stuff }
.test { even more }
我想要一个正则表达式将其分解为三个部分中的每一部分,从'}'分离到'}'应该可以满足我的需要(显然除了第一个案例)。
答案 0 :(得分:1)
在Ruby 1.9中,你可以
result = subject.split(/(?<=\})/)
即,将字符串拆分为}
之后的位置。但是,Ruby 1.8不支持lookbehind断言,所以它不会在那里工作。当然,你会遇到嵌套大括号的问题,但你说这不应该是你的数据的问题。
在Ruby 1.8中(不能在这里试试),以下内容应该有效:
result = subject.split(/(\})/)
虽然现在结束括号不再是匹配元素的一部分。因此,test {a} test2 {b}
将分为test {a
,}
,test2 {b
,}
以及空字符串。
答案 1 :(得分:0)
在您的情况下可能不合适,但您可以使用CSS解析器通过令牌拆分CSS文件,并独立且无害地对其进行操作。
答案 2 :(得分:0)
.scan(/.+?\}/m)