在线求一个正则表达式【急】

匹配@到空格的内容,然后把内容替换为div包裹@内容,类似下面这样,但是不能把后面的@www匹配进去,因为@www后面是没有空格的

"adaskjdkas @mushroom kalsdkl@www" -> "adaskjdkas <div>@mushroom</div> kalsdkl@www"

我之前用的正则是这样的a.replace(/(@[^\s+]+)/g, '<span>$1</span>'),但是会把@www匹配进去

在线求助/(ㄒoㄒ)/~~

阅读 2.2k
4 个回答
a.replace(/(@[^]+\s{1,})/g, '<span>$1</span>')
a.replace(/(@[^\s+]+\s)/g, '<span>$1</span>')
var a = "adaskjdkas @mushroom kalsdkl@www";
a.replace(/\@(.+?)\b[^$]/g, '<span>$1</span>')
"adaskjdkas <span>mushroom</span>kalsdkl@www"
"adaskjdkas @mushroom kalsdkl@www".replace(/\@([^\s]+?)(?=\s)/g, '<span>$1</span>') 
// "adaskjdkas <span>mushroom</span> kalsdkl@www"
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题