我想知道是否可以保留某些值,并以常规的方式删除其他值。
我有这段代码:
var str = '<td class="sky" data-toggle="up" id="heaven" > Link to heaven </td>';
var res = str.replace(/(data-toggle=")([a-zA-Z0-9:;\.\s\(\)\-\,]*)(")/gi, '');
console.log(res);
我的结果如下:
<td class="sky" id="heaven" > Link to heaven </td>
我希望得到这样的结果(反向):
<td data-toggle="up" > Link to heaven </td>
答案 0 :(得分:1)
var str = '<td class="sky" data-toggle="up" id="heaven" > Link to heaven </td>';
var res = str.replace(/(<\w+)(\s*[\w-]+="[^"]+")*(\s*data-toggle="[^"]+")(\s*[\w-]+="[^"]+")*(\s*>)/g, '$1$3$5');
console.log(res);
&#13;
答案 1 :(得分:0)
然后,您的要求是使用新属性设置data-toggle="up"
替换TD元素的所有现有属性设置,对吗?
如果是这样,也许您可以使用以下正则表达式
查找:<td .+?>(.+)</td>
替换:<td data-toggle="up" >\1</td>