javascript - 简单的 JS 正则表达式替换。

标签 javascript regex

我正在努力尝试创建一个非常简单的 RegExp。 (可能缺少几个小时的 sleep )。

我刚刚输入了这个字符串:/users/10/contracts/1 我的正则表达式是这个:/users/(\w+)/contracts/(\w+)/

我想用这种字符串替换所有匹配项:/users/{variable1}/contracts/{variable2}

这是我的完整源代码:

var customRegex = "/users/(\\w+)/contracts/(\\w+)";
  var i =0;
  var finalUrl = "/users/1234/contracts/5678".replace(new RegExp(customRegex, 'gi'), function myFunction(x, y){
    return "{variable" + i + "}"; 
  });

  console.log(finalUrl);

你能帮帮我吗?

祝你有个愉快的一天,感谢你的帮助。

最佳答案

replace-function 在整个替换过程中只调用一次。 您正在使用 2 个匹配器,因此您还会获得 2 个匹配项作为回调函数中的参数。

var customRegex = "/users/(\\w+)/contracts/(\\w+)";
var finalUrl = "/users/1234/contracts/5678".replace(new RegExp(customRegex, 'gi'), function myFunction(wholeString, p1, p2){
    return wholeString.replace(p1, "{variable1}").replace(p2, "{variable2}"); 
});
console.log(finalUrl);

关于javascript - 简单的 JS 正则表达式替换。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34700385/

相关文章:

使用 REGEX 和 .split() 的 Java XML validator

python - 从任意 css 文件中获取特定类的所有 css 属性

c# - 更高效的正则表达式或替代方案?

sql - 特定重复字符内的子串选择

javascript - 创建一个有全局二级索引错误的表

javascript - jQuery 在点击时自动添加文本字段

javascript - Angular,过滤 json 对象

javascript - 如何在嵌套数组javascript中找到最近的元素?

javascript - 如何通过Javascript Jquery更改<a>的 "href"?

java通过正则表达式提取地址项