Regex Tweak:删除Brackets

时间:2011-05-16 17:14:02

标签: jquery regex replace

我有以下脚本:

    $(".Text").contents().each(function () {
   $(this).replaceWith($(this).text()
            .replace(/\[([^\]]*)\]/g, '<span class="IT_Symbol" style="display:inline;border: 1px solid blue;">$&</span>')
        );
    });

它在方括号之间找到任何东西并用类包装它。元素样式是我可以看到它工作,因为这个脚本是由双击触发。目前它在方括号之间找到所有内容,包括括号本身。如果可能的话,我想删除括号,但保持介于两者之间。

1 个答案:

答案 0 :(得分:2)

您将替换为$&,这是整个匹配的文字。如果您替换为$1,则只会匹配第一个组([^\]]*),因此会排除周围的括号。

$(".Text").contents().each(function () {
    $(this).replaceWith($(this).text().replace(/\[([^\]]*)\]/g, '<span class="IT_Symbol" style="display:inline;border: 1px solid blue;">$1</span>'));
});