我需要从 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/, '')
在我看来,最后一个解决方案应该可行,但正则表达式似乎不同意我的观点......
注意:我对其他方法感兴趣,我只是想了解我做错了什么
最佳答案
反向引用不能在 character classes 内部使用.
您必须使用Negative Lookahead,而不是使用否定字符类。 .
.replace(/style=(['"])(?:(?!\1).)*\1/, '')
关于javascript - 使用正则表达式和反向引用删除 html 标签属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25436707/