Javascript替换字符串正则表达式

use*_*865 4 javascript regex

我有以下字符串

hello[code:1], world [code:2], hello world
Run Code Online (Sandbox Code Playgroud)

我想将此字符串替换为

hello <a href="someurl/1">someothercode</a>, world <a href="someurl/2">someothercode</a>, hello world
Run Code Online (Sandbox Code Playgroud)

我希望使用javascript reg ex进行此字符串转换

我试过了

/\[code:(\d+)\]/
Run Code Online (Sandbox Code Playgroud)

注册但不确定如何标记它们

Ano*_*ode 18

这是否满足您的需求?

mystring.replace(/\[code:([0-9]+)\]/g, '<a href="someurl/$1">somelink</a>');
Run Code Online (Sandbox Code Playgroud)


qwe*_*ymk 5

DEMO

var s = 'hello[code:1], world [code:2], hello world';

var codes = {
    1: '<a href="someurl/1">someothercode</a>',
    2: '<a href="someurl/2">someothercode</a>'
};

s = s.replace(/\[code:(\d*)\]/g, function(a, b) {
    return codes[b]
})

document.write(s)
?
Run Code Online (Sandbox Code Playgroud)