js 正则替换的使用方法

function compress(source) {
    const keys = {}; ⇽--- 存储目标key
    source.replace(
    /([^=&]+)=([^&]*)/g,
    function(full, key, value) { ⇽--- 提取键值对信息
        keys[key] =(keys[key] ? keys[key] + "," : "") + value;
        return "";
    }
);
const result = [];
for (let key in keys) {
    result.push(key + "=" + keys[key]);
    } ⇽--- 收集key信息
    return result.join("&"); ⇽--- 使用&符号连接结果
} 
assert(compress("foo=1&foo=2&blah=a&blah=b&foo=3") === "foo=1,2,3&blah=a,b","Compression is OK!");   

使用正则表达式加replace 方法处理字符串正则表达式

相关文章
相关标签/搜索