regex - 如何使用多个随机变量查找和替换一个变量?

时间:2018-01-02 22:46:22

标签: regex variables replace find

我有一个来自同一个域的网址列表。示例:

domain1.com/urlA

domain1.com/urlB

domain1.com/urlC

domain1.com/urlD ................

我想用多个随机域(domain2,domain3等)替换domain1 结果应该是这样的:

domain2.com/urlA

domain3.com/urlB

domain4.com/urlC

domain2.com/urlD

...............

我是regex的新手。我在互联网上搜索了2个小时,无法找到解决方案!

1 个答案:

答案 0 :(得分:1)

不知道你正在使用什么语言来解决这个问题,但是如果你必须使用正则表达式,那么npm包randexp看起来就像一个干净利落的解决方案。此包包含生成与某些正则表达式Javascript对象匹配的随机字符串的函数。

因此,您可以使用一些字符串操作函数将“domain1”替换为randexp生成的字符串,如下所示:

var RandExp = require('randexp');

// returns a String of the format "domain" then a random digit 0-9 at the back
// e.g. "domain0", "domain1"..., "domain9"
console.log(new RandExp(/domain\d/).gen())

如果没有,我建议只从URL的第一部分删除字符串"domain1",并将其替换为与随机生成的数字连接的单词"domain"