我正在尝试将模板从响应转换为非响应(我知道,似乎很疯狂但是......)所以模板开发人员告诉我注释掉或删除文件中的所有@media css。所以我正在寻找一个正则表达式,它将通过一个css文件找到:
@media {some css here}}并将其替换为
/ * @media {与上述相同的css}} * /
我尝试过在网上类似的一些例子的变化,但无济于事。
非常感谢, 休斯敦
答案 0 :(得分:0)
这个正则表达式应该可以解决问题:
@media.*?{\s*(?:.*?{.*?}\s*)*?}
然后使用以下字符串进行替换:
/* $0 */
此外,要使此正则表达式起作用,必须使用正则表达式的“点匹配全部”选项。在大多数语言中,这是通过/s
修饰符完成的(或者在Notepad ++中有一个复选框选项,表示“。匹配换行符”)。
如果您使用Notepad ++之类的东西来执行替换,您将需要转义版本:
@media.*?{\s*(?:.*?\{.*?\}\s*)*?\}
正则表达式解释:
@media.*?{
部分匹配媒体查询的左括号。然后在内部CSS开始之前有\s*
来匹配可能的空格。接下来,(?:.*?{.*?}\s*)*?
将匹配所有内部CSS。最后,媒体查询的结尾与右括号}
匹配。