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

标签 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");

我想在我的 HTML 代码中找到此标签 <span id="sc_start_commenttext-330"></span> (数字总是不同的)和标签 <span id="sc_end_commenttext-330"></span> 。然后这些标签之间的文本和 HTML 代码应该被删除,其余的应该被返回:

之前:

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

comment_body_content的返回值:

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

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

有适用于所有浏览器的解决方案吗?

亚历克斯

最佳答案

这会起作用。

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

http://jsfiddle.net/4Rx96/5/

关于javascript - IE 8 中的正则表达式 (Javascript) 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16231788/

相关文章:

javascript - 删除新行,除非新行前面有双空格

php - 如何在 PHP 中使用正则表达式中断查询

jquery - 如何在不给出固定高度的情况下使这些面板具有 100% 的高度

css - Internet Explorer 中不显示表格边框

html - IE8 表格未正确调整大小 <td>

javascript - 使用 jquery 或其他 javascript 在指定的时间间隔内更改网格中的图像

javascript - 在 Ajax 加载时滚动到项目底部

javascript - 根据其他单元格的状态使剑道网格单元格可编辑或只读

javascript - 取消硬编码并使 jQuery 代码模块化

python - pip正则表达式搜索