替换字符串中所有URL的主机 - nodejs

时间:2016-12-26 06:45:17

标签: javascript regex node.js string url

我有以下字符串:

{
   "auth" : {
     "login" : "http://123.123.11.22:85/auth/signin",
     "resetpass" : "http://123.123.22.33:85/auth/resetpass",
     "profile" : "http://123.123.33.44:85/auth/profile"
   }
}

我需要用我的主机名替换所有IP地址以获得以下输出:

{
   "auth" : {
      "login" : "http://mydomain:85/auth/signin",
      "resetpass" : "http://mydomain:85/auth/resetpass",
      "profile" : "http://mydomain:85/auth/profile"
   }
}

我可以将此字符串转换为对象,遍历属性,拆分并重新加入以形成URL。我正在寻找使用正则表达式实现这一目标的最佳实践。

我期待像

这样的东西
var newUrl = text.replace( /someRegex/gi, 'mydomain');

1 个答案:

答案 0 :(得分:1)

使用((?:\d+\.){3}\d+)(?=:\d+)并替换已捕获的群组将对您有用。

demo here