我正在尝试抓取css文件中的每个关键帧声明,并将其复制,但插入moz / ms / o以使用关键帧处理每个浏览器。
我正在使用这个正则表达式:
(@)(-webkit-)([\s\S]*)(\}\R\}\R@)
尝试捕获每个集合(请参阅我Rubular上的完整示例)
答案 0 :(得分:2)
试试这个:
/(@)(-webkit-)(.*?\R\})/m
m
修饰符使其成为多行正则表达式,因此.
匹配换行符。我在最后删除了@
的匹配项,因为它无法匹配文件中的最后一个块。并且*?
使匹配非贪婪,因此它一次只匹配一个块。
答案 1 :(得分:0)
你最接近的是......
(@-webkit-[^}]*}\s*to\s*{[^}]*}\s*})
...可以处理CSS文件decently中的异常/损坏的缩进。这是它的工作原理:
(
启动捕获组...
@-webkit-
...在这句话上。
[^}]*
}
继续,直到您看到'}'字符。
\s*
to
\s*
{
接着,短语'to',后跟'{'...
[^}]*
}
...一直到下一个'}'字符。
\s*
}
最后的'}'字符,可能前面有空格。
)
停止捕捉。
可能是因为regex doesn't understand nesting以来你有误报。