用Javascript/jQuery中的正则表达式替换模式的所有实例

jon*_*all 4 regex string jquery replace

首先,我不太了解正则表达式,需要买一本书,因为它已经证明我很难拾取.

最终我想要一个dom元素,并在直括号"["和"]"中替换文本并在文本周围插入一个链接,并且字符串中可能有多个括号集.

function changeTip() {  
        var link = '<a href="' + $('#txtURL').attr('value') + '" target="_blank">';
        $('.tipoftheweektip').html($('#txtTip').attr("value").replace('[', link).replace(']', '</a>'));
    }
Run Code Online (Sandbox Code Playgroud)

这工作除外:

  • 不适用于第二组括号
  • 如果没有关闭直支架,它会删除开口直支架前的所有文本

我看了一些例子,因为在正则表达式代码中使用了直括号,我无法弄清楚如何查找括号并替换它.

那些做过类似他们可以分享的事情的人吗?提前致谢.

Dou*_*eny 11

.replace(/\[([^\]]*)\]/g, link + "$1</a>")
Run Code Online (Sandbox Code Playgroud)

这意味着,在[和]之间找到文本,并将其替换为link,text本身和''的值.这确保匹配方括号.'g'表示'多次(全局)'.