IE 8中正则表达式(Javascript)的问题

IE 8中正则表达式(Javascript)的问题,javascript,regex,internet-explorer-8,Javascript,Regex,Internet Explorer 8,我在Javascript中使用以下正则表达式: comment_body_content = comment_body_content.replace(/(<span id="sc_start_commenttext-(\d+)"><\/span>) [^]*?(<span id="sc_end_commenttext-\2"><\/span>)/, "$1$3"); comment\u body\u content=comment\u

我在Javascript中使用以下正则表达式:

    comment_body_content = comment_body_content.replace(/(<span id="sc_start_commenttext-(\d+)"><\/span>)
[^]*?(<span id="sc_end_commenttext-\2"><\/span>)/, "$1$3");
comment\u body\u content=comment\u body\u content.replace(/()
[^]*?()/, "$1$3");
我想在我的HTML代码中找到这个标签
(数字总是不同)和标签
。然后,这些标记之间的文本和HTML代码应被删除,其余的应返回:

之前:

<span id="sc_start_commenttext-330"></span>
Some Text and some <u>html</u> blabla
<span id="sc_end_commenttext-330"></span>

一些文本和一些html blabla
注释\正文\内容的返回值:

<span id="sc_start_commenttext-330"></span>
<span id="sc_end_commenttext-330"></span>

此表达式适用于所有当前浏览器,但IE 8在以下行返回javascript错误:“(\d+)”和\2

是否有适用于所有浏览器的解决方案

亚历克斯

这就行了

.replace(/(<span id="sc_start_commenttext-(\d+)"><\/span>)[\S\s.]*?(<span id="sc_end_commenttext-\2"><\/span>)/, "$1$3")
。替换(/()[\S\S.]*?()/,“$1$3”)

这将起作用

.replace(/(<span id="sc_start_commenttext-(\d+)"><\/span>)[\S\s.]*?(<span id="sc_end_commenttext-\2"><\/span>)/, "$1$3")
。替换(/()[\S\S.]*?()/,“$1$3”)

不建议使用正则表达式处理HTML

这可能更有用——我正在使用jQuery

如有必要,我们可以找到开始和结束的方法,但您提供的HTML将由以下程序处理:


不建议使用正则表达式处理HTML

这可能更有用——我正在使用jQuery

如有必要,我们可以找到开始和结束的方法,但您提供的HTML将由以下程序处理:


只需通过
*?
在正则表达式中更改
[^]*?


为了处理换行,您可以使用:
[\s\s]*?

只需通过
*?
在正则表达式中更改
[^]*?



为了处理换行问题,您应该使用:
[\s\s]*?

您得到的具体错误是什么?我刚刚编辑了我的问题,有一个错误。错误是(从德语翻译):字符集中的无效范围您得到的具体错误是什么?我刚刚编辑了我的问题,有一个错误。错误是(从德语翻译过来):字符集中的范围无效Corry guys,我刚刚犯了一个错误,返回值是错误的。我刚刚编辑了我的问题!更新了答案以符合新要求:)Thx bart-与M42相同的答案(见底部)-我们现在发现IE 8中的新行有问题:-/Added
[\S\S.]
以匹配空格、新行和任何字符。你可以扩展大括号之间的字符。适用于所有浏览器,但不适用于IE8似乎是一个错误:(对不起,伙计们,我刚刚犯了一个错误,返回值是错误的。我刚刚编辑了我的问题!更新了答案以符合新的要求:)Thx bart-来自M42的相同答案(见底部)-我们现在遇到了IE 8中新行的问题:-/Added
[\S\S.]
以匹配空格、新行和任何字符。你可以扩展大括号之间的字符。适用于所有浏览器,但不适用于IE8似乎是一个错误:(你是对的,但代码是由CMS生成的,它是无效的,因此jquery正在那里工作:(你说的“无效”是什么意思它不是有效的XHTML…但我会试试你的代码,也许它能工作。嗯,我不明白你的代码…sc_end_commenttext在哪里?你是对的,但代码是由CMS生成的,它是无效的,所以jquery正在那里工作:(你说“无效”是什么意思?它不是有效的XHTML…但我会试试你的代码,也许它能工作。嗯,我不明白你的代码…sc_end_commenttext在哪里?嗯,它在当前浏览器中不能正常工作。不是所有介于
之间的字符都被删除了。这也可能是\n等等。@user1711384:什么类型的字符没有被删除?看起来,不是吗只有当文本中没有换行符时,它才起作用。如果有换行符,则不会删除任何内容…使用
[^]*?
适用于所有字符,但不适用于IE 8是的,好消息:在当前浏览器中它工作正常,在IE8中没有错误。坏消息:并非所有字符都在IE8中被删除。这可能是一个原因:在当前浏览器中生成了一个
-标记,在IE 8中为新行生成了一个-标记…@user1711384:真奇怪!
[\s\s]*
代表任何字符,它将匹配

以及
标记。嗯,它在当前浏览器中无法正常工作。并非
之间的所有字符都被删除。这也可能是\n等等。@user1711384:什么类型的字符没有被删除?似乎,它只有在有我的时候才起作用文本中没有换行符。如果有换行符,则不会删除任何内容…使用
[^]*?
适用于所有字符,但不适用于IE 8是的,好消息:在当前浏览器中它工作正常,在IE8中没有错误。坏消息:并非所有字符都在IE8中被删除。这可能是一个原因:在当前浏览器中生成了一个
-标记,在IE 8中为新行生成了一个-标记…@user1711384:真奇怪!
[\s\s]*
代表任何字符,它将匹配

以及
标记。