在JS中使用正则表达式基于字符串生成url

时间:2019-02-01 04:52:44

标签: javascript regex

我想使用正则表达式基于JS中的字符串生成URL

原始字符串

1. (user: john) 
2. (user: mary)

预期网址

1. http://www.test.com/john
2. http://www.test.com/mary

基本上::和之后的所有内容都是用户名

1 个答案:

答案 0 :(得分:1)

您可以使用:

/\(user: (\w+)\)/g

要匹配用户名并将其存储在组$1中。然后,您可以使用.replace用所需的URL替换其余文本,并在字符串末尾使用匹配的组$1

请参见以下示例:

const strs = ["1. (user: john)", "2. (user: mary)"],

res = strs.map(str => str.replace(/\(user: (\w+)\)/g, 'http://www.test.com/$1'));
console.log(res);