我有一个字符串
var str="Hello my name is {john/www.john.com} and welcome to my {site/www.site.com}."
我已经提取了大括号,并用
之类的方式制作了一个锚标记<a href="www.john.com">john</a>
我要做的是用这些节点替换大括号和内容。 是否可以使用regExp?我已经研究过MDN上的regExp,但仍然无法找到方法。
答案 0 :(得分:8)
当然是:
var str = "Hello my name is {john/www.john.com} and welcome to my {site/www.site.com}.";
str = str.replace(/\{(.+?)\/(.+?)\}/g, function(m, label, url) {
return '<a href="http://' + url + '">' + label + '</a>';
});
document.write(str);
正则表达式是:
\{(.+?)\/(.+?)\}
\{
匹配{
(.+?)
匹配并捕获任何内容(尽可能少的字符,直到第一个/
)\/
匹配/
(.+?)
匹配并捕获最多}
\}
匹配}