用JavaScript替换正则表达式匹配

时间:2017-08-05 03:52:59

标签: javascript regex

对于给定的网址,

/disconnect/<backend>/foo/<association_id>/

我想

/disconnect/:backend/foo/:association_id/

路径中可能有任意数量的<pattern>

3 个答案:

答案 0 :(得分:1)

以下是与replace方法

一起使用的正则表达式

var str = '/disconnect/<backend>/foo/<association_id>/',
    reg = /<([^>]+)>/g;

console.log(str.replace(reg, ":$1"));

DEMO

答案 1 :(得分:1)

这样怎么样?现场演示http://jsfiddle.net/d4N9s/

var mystring = "/disconnect/<backend>/foo/<association_id>/"
var middle = mystring.replace(/>/g , "")
console.log(middle.replace(/</g , ":"));

清洁方式:

var mapO = {
   '>':"",
   '<':":",
};
str = mystring.replace(/<|>/gi, function(matched){
  return mapO[matched];
});

console.log(str);

答案 2 :(得分:0)

/<(.*?)>/g

这将匹配&lt;之间的字符串的所有实例。和&gt;。您可以使用一些简单的JavaScript来轻松替换每个实例。

http://regexr.com/3ggen