如何从css 中完全删除字体
我有以下代码:
css = `
@font-face
{
font-family:Rating;
src:url(data:application/x-font-ttf;
charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjA....)format('woff');
font-weight:400;
font-style:normal
}
#milk{
}
@font-face{
p {
}
}
.some-class{
}`
css = css.replace(/@font[^{]+{([^{}]*{[^}{]*})+[^}]+}/gi,'')
console.log(css)
预期结果是删除所有字体的正面
然而,它给出了:
@font-face
{
font-family:Rating;
src:url(data:application/x-font-ttf;
charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjA....)format('woff');
font-weight:400;
font-style:normal
}
#milk{
}
.some-class{
}
它不会删除第1个@font-face
。
解决了问题:
工作代码
css = `
@font-face
{
font-family:Rating;
src:url(data:application/x-font-ttf;
charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjA....)format('woff');
font-weight:400;
font-style:normal
}
#milk{
}
@font-face{
p {
}
}
.some-class{
}`
css = css.replace(/@font-face[^{]*{([^{}]|{[^{}]*})*}/gi,'')
console.log(css)