现在,我们有如下的一个字符串:
var str = "<td style=\"width: 23px; height: 26px;\" align=\"left\">***</td>";
首先,使用正则表达式匹配标签中的 ”属性名 = 属性值(包括了有引号的、没引号的)”
var reg = /\s*[^=\s+]+\s*=\s*([^=>]+)?(?=(\s+|>))/g;
其中,(?=(\s+|>)) 是正向预查,表示匹配的后边必须是若干空白字符或者右箭头符。
\s* 表示匹配的前边是若干空白字符。
[^=\s+]+\s*= 表示匹配的属性名+若干空白字符+等号。
\s*([^=>]+)? 表示匹配的属性值,且是非贪婪的。
之后,我们使用 str.replace 去除属性。
console.log(str.replace(reg,""));
下面是执行的结果。