首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用regexp和backreference删除html标记的属性

使用regexp和backreference删除html标记的属性
EN

Stack Overflow用户
提问于 2014-08-21 22:05:35
回答 1查看 63关注 0票数 0

我需要从html属性中删除"style“属性,我用这个正则表达式实现了这个目标:

代码语言:javascript
复制
"<div id='mioId'  style='color:black;background-color:red' attr='stuff' class='myClass' />".replace(/style=('|")[^('|")]*\1/, '')

我想做的是,使用反向引用也匹配内容。就像这样:

代码语言:javascript
复制
"<div id='mioId'  style='color:black;background-color:red' attr='stuff' class='myClass' />".replace(/style=('|")[^\1]*\1/, '')

在我看来,最后一个解决方案应该有效,但是正则表达式似乎不符合我的观点.

注:我对其他方法感兴趣,我只想了解我做错了什么

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-21 22:13:10

反向引用不能在字符类中使用。

不必使用否定的字符类,而是必须使用负前瞻

代码语言:javascript
复制
.replace(/style=(['"])(?:(?!\1).)*\1/, '')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25436707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档