我需要从html属性中删除“style”属性 我用这个正则表达式实现了这个目标:
"<div id='mioId' style='color:black;background-color:red' attr='stuff' class='myClass' />".replace(/style=('|")[^('|")]*\1/, '')
我想做的是使用反向引用来匹配内容。 像这样的东西:
"<div id='mioId' style='color:black;background-color:red' attr='stuff' class='myClass' />".replace(/style=('|")[^\1]*\1/, '')
在我的脑海中,这最后一个解决方案应该有效,但正则表达似乎不同意我...
注意:我注意到对其他方法感兴趣,我只想了解我做错了什么
答案 0 :(得分:2)
不能在character classes内使用反向引用。
您必须使用Negative Lookahead,而不是使用否定的字符类。
.replace(/style=(['"])(?:(?!\1).)*\1/, '')