如何在正则表达式中保留值并删除其他值(属性 html 字符串)?
How to keep values and remove the others (attributes html string) on a regular expression?
我想知道是否可以通过常规实验保留某些值并删除其他值。
我有这个代码:
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>
那么,您的要求是用新的属性设置 data-toggle="up"
替换 TD 元素的所有现有属性设置,对吗?
如果是这样,也许您可以使用以下正则表达式。
查找:<td .+?>(.+)</td>
替换:<td data-toggle="up" ></td>
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, '');
console.log(res);
我想知道是否可以通过常规实验保留某些值并删除其他值。
我有这个代码:
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>
那么,您的要求是用新的属性设置 data-toggle="up"
替换 TD 元素的所有现有属性设置,对吗?
如果是这样,也许您可以使用以下正则表达式。
查找:<td .+?>(.+)</td>
替换:<td data-toggle="up" ></td>
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, '');
console.log(res);