JavaScript RegExp替换文本

时间:2014-10-20 14:15:22

标签: javascript regex

我想在句子中包含一个带有<a href=''></a>的#hashtag。我创建了一个正则表达式var exp = /#[\w\dğüşçöı]+/gi

这个表达完全正常,但我无法取代#hey老兄!字符串

<a href='hashtag/hey'>#hey</a> dude!

jsFiddle示例。

2 个答案:

答案 0 :(得分:1)

用括号括住你的单词正则表达式,使其成为一个被替换字符串识别为$ 1的捕获组:

/#([\w\dğüşçöı]+)/gi

答案 1 :(得分:0)

我在类似的PHP-Question(https://stackoverflow.com/a/4277114/4161041)中找到了一个解决方案:

var raw = "Hello #world! #hey dude!";
var pattern = /#(\w*[a-zA-Z_ğüşçöı]+\w*)/ig;
var replacement = "<a href=\"hashtag/$1\">#$1</a>";
var parsed = raw.replace(pattern, replacement);

http://jsfiddle.net/j3pttLnz/

我希望这会有所帮助。

相关问题