带引号的Javascript正则表达式

带引号的Javascript正则表达式,javascript,regex,Javascript,Regex,我需要一种方法将的所有外观替换为 我完全不熟悉正则表达式,但我尝试过: str = str.replace(/<br\sclass=\"\"\s>/g, "<br>"); str=str.replace(//g,”); 但它不起作用 什么是合适的正则表达式来执行此操作?\s只匹配一个空白字符。您可能需要\s*,它将匹配任意数量(包括零个)的空白字符,以及\s+,它将至少匹配一个空白字符 str = str.replace(/'<br\s+class=\"\"\s

我需要一种方法将

的所有外观替换为

我完全不熟悉正则表达式,但我尝试过:

str = str.replace(/<br\sclass=\"\"\s>/g, "<br>");
str=str.replace(//g,
”);
但它不起作用


什么是合适的正则表达式来执行此操作?

\s
只匹配一个空白字符。您可能需要
\s*
,它将匹配任意数量(包括零个)的空白字符,以及
\s+
,它将至少匹配一个空白字符

str = str.replace(/'<br\s+class=\"\"\s*>/g, "<br>");
str=str.replace(/“/g,
”);
\s
正好匹配一个空白字符。您可能需要
\s*
,它将匹配任意数量(包括零个)的空白字符,以及
\s+
,它将至少匹配一个空白字符

str = str.replace(/'<br\s+class=\"\"\s*>/g, "<br>");
str=str.replace(/“/g,
”);
我不会使用正则表达式来实现这一点,而是实际解析html并删除类。 这是未经测试的,但可能有效

// Dummy <div> to hold the HTML string contents
var d = document.createElement("div");
d.innerHTML = yourHTMLString;

// Find all the <br> tags inside the dummy <div>
var brs = d.getElementsByTagName("br");

// Loop over the <br> tags and remove the class
for (var i=0; i<brs.length; i++) {
  if (brs[i].hasAttribute("class")) {
     brs[i].removeAttribute("class");
  }
}

// Return it to a string
var yourNewHTMLString = d.innerHTML;
//用于保存HTML字符串内容的虚拟对象
var d=document.createElement(“div”);
d、 innerHTML=yourHTMLString;
//找到假人内的所有
标记 var brs=d.getElementsByTagName(“br”); //在
标记上循环并删除该类
对于(var i=0;i我不会使用正则表达式来完成这项工作,而是实际解析html并删除类。 这是未经测试的,但可能有效

// Dummy <div> to hold the HTML string contents
var d = document.createElement("div");
d.innerHTML = yourHTMLString;

// Find all the <br> tags inside the dummy <div>
var brs = d.getElementsByTagName("br");

// Loop over the <br> tags and remove the class
for (var i=0; i<brs.length; i++) {
  if (brs[i].hasAttribute("class")) {
     brs[i].removeAttribute("class");
  }
}

// Return it to a string
var yourNewHTMLString = d.innerHTML;
//用于保存HTML字符串内容的虚拟对象
var d=document.createElement(“div”);
d、 innerHTML=yourHTMLString;
//找到假人内的所有
标记 var brs=d.getElementsByTagName(“br”); //在
标记上循环并删除该类
对于(var i=0;i而言,一种方法是使用以下方法

var s = '<br class="">';
var n = s.replace(/(.*)(\s.*)(>)/,"$1$3");
console.log(n)
var s='
; var n=s.replace(/(.*)(\s.*)(>)/,“$1$3”); console.log(n)
一种方法是使用以下方法

var s = '<br class="">';
var n = s.replace(/(.*)(\s.*)(>)/,"$1$3");
console.log(n)
var s='
; var n=s.replace(/(.*)(\s.*)(>)/,“$1$3”); console.log(n)
为什么要这样做?一个空的
属性不会伤害你。你几乎拥有了它:
str=str.replace(//g,
”);
为什么要这样做?一个空的
属性不会伤害你。你几乎拥有了它:
str=str.replace(//g,
”)
get/set/removeAttribute在各种IE版本中都有缺陷,最好避免。修改
className
DOM属性是可取的。在Opera 11中效果很好。在IE6中崩溃。get/set/removeAttribute在各种IE版本中都有缺陷,最好避免。修改
className
DOM属性是可取的。在歌剧11。在IE6爆炸。