我有一个可能包含0个或更多网址的字符串。我想用<a></a>
中包含的网址替换字符串中的每个网址。有没有办法可以在replace()
?
例如:
var msg = "Go to http://google.com and youtube.com";
var regex = /[-a-zA-Z0-9@:%_\+.~#?&//=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&//=]*)?/gi;
msg.replace(regex, "<a href='"+<blank>+"'></a>") // Where <blank> is a reference to the current matched url
谢谢!
答案 0 :(得分:4)
是。使用regex backreferences。 (注意我添加到正则表达式的开头和结尾的括号,以使整个事物被放入匹配组中。)
var msg = "Go to http://google.com and youtube.com";
var regex = /([-a-zA-Z0-9@:%_\+.~#?&\/\/=]{2,256}\.[a-z]{2,4}\b(\/[-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)?)/gi;
msg.replace(regex, "<a href='$1'>$1</a>") // Where <blank> is a reference to the current matched url