unten ist mein regex Comma Separated Schlüssel-Wert-Paare zu analysieren: das ErgebnisRegEx nicht zulassen ein Zeichen entkommen, es sei denn
function extractParams(str) {
var result = {};
str.replace(/\s*([^=,]+)\s*=\s*([^,]*)\s*/g, function(_, a, b) { result[a.trim()] = b.trim(); });
return result;
}
Zum Beispiel:
extractParams("arg1 = value1 ,arg2 = value2 ,arg3=uuu")
ist {"arg1":"value1","arg2":"value2","arg3":"uuu"}
.
Ich möchte diese Funktion so erweitern, dass die Werte Escaped-Kommas, Gleichheitszeichen und das Escape-Zeichen selbst enthalten. So dass das Ergebnis:
extractParams("arg1 = val\,ue1 ,arg2 = valu\=e2, arg3= val\\ue3")
wird
{"arg1":"val,ue1","arg2":"valu=e2","arg3":"val\ue3"}
sein.
Wie kann ich das tun? Danke, Moshe.