var regex = /((<style>)|(<style type=.+)|(<\/style>))/g;
var str = `<style>
styles
</style>
<style type="text/css">
styles
</style>`;
const subst = ``;
// The substituted value will be contained in the result variable
var result = str.replace(regex, subst);
console.log('Substitution result: ', result);
var regex = /((<style>)|(<style type=.+))((\s+)|(\S+)|(\r+)|(\n+))(.+)((\s+)|(\S+)|(\r+)|(\n+))(<\/style>)/g;
const str = `<style>
styles
</style>
<style type="text/css">
styles
</style>
non html content`;
var subst = ``;
// The substituted value will be contained in the result variable
var result = str.replace(regex, subst);
console.log('Substitution result: ', result);
4条答案
按热度按时间fdbelqdn1#
根据您的问题,下面的正则表达式代码应该足够了
Demo Here
检查更新的正则表达式,它删除了样式以及其中的内容。
Link
qcuzuvrc2#
首先,修改正则表达式:使用\s+代替\B,正确设置type=后的参数,添加标记变量
别忘了有两个引擎会读取你的字符串,Regex引擎是第二个,第一个是Javascript,它要求转义
\
。test
6gpjuf903#
要捕获内联样式,可以使用
tzdcorbm4#
更新以删除内联样式: