js中字符串操作 正则表达式,该怎么解决

js中字符串操作 正则表达式
就是原串中含有 '@name', 我想和替换为 ’<a href="#" >@name</a>‘,原串可能如下(name后面有一个空格):
  1. 谢谢你,@徐哥 ,晚上请你吃饭。
  2. hello@ 李姐 ,我是沈维。
其实我想实现微博中@的功能。

------解决方案--------------------
JScript code
var str='谢谢你,@徐哥 ,晚上请你吃饭\nhello@李姐 ,我是沈维@张三 @ ';
var re=/@(\S+)+(\s)?/g;
str=str.replace(re,'<a href="#" >@$1</a>');
alert(str)

------解决方案--------------------


探讨

JScript code
var str='谢谢你,@徐哥 ,晚上请你吃饭\nhello@李姐 ,我是沈维@张三 @ ';
var re=/@(\S+)+(\s)?/g;
str=str.replace(re,'<a href="#" >@$1</a>');
alert(str)

------解决方案--------------------
str=str.replace(/(@[^,,]+?)([,,])/g,"<a href='#' >$1</a>$2");