嗨我在div中有以下文字:
[http://www.google.com Google this link] some other random text [http://example.com and another website] but don't parse [this is not a link, leave me alone].
我尝试做的是将链接转换为普通的html链接。格式总是这样,所以它打开[然后是网址,然后是链接文本,然后是关闭]。但我只想匹配链接,不是方括号中的所有文本。
我想在javascript中使用.match()
函数来执行此任务,但我无法弄清楚正则表达式(我只需要链接的文本部分 - 其余部分应该是简单的分割)。
任何帮助都会受到影响。
答案 0 :(得分:5)
为什么.match
而不是.replace
?
string.replace(/\[(https?:\/\/[^\]\s]+)(?: ([^\]]*))?\]/g, "<a href='$1'>$2</a>");