Вы можете захватить пары ключ и значение в группе захвата, показанной в этом регулярном выражении .
Исходя из этого, вы можете пойти дальше и уменьшить его значение до карты.
const currentExecutionVariable = "{executionid=0c3246fb37e65e3368c8c4f30000016ab593bec244daa8df, timeout=10000}";
const pattern = /([A-Za-z0-9]+)\=([A-Za-z0-9]+)/g;
const matches = currentExecutionVariable.match(pattern);
const currentExecutionMap = matches.reduce((acc, curr) => {
const [key, value] = curr.split('=');
if (!acc.has(key)) {
acc.set(key, value);
}
return acc;
}, new Map());
for (const [key, value] of currentExecutionMap.entries()) {
console.log (`${key}: ${value}`);
}
Обновление
Использование захваченных групп:
const currentExecutionVariable = "{executionid=0c3246fb37e65e3368c8c4f30000016ab593bec244daa8df, timeout=10000}";
const pattern = /([A-Za-z0-9]+)\=([A-Za-z0-9]+)/g;
let currentExecutionMap = new Map();
let capturedGroup;
while ((capturedGroup = pattern.exec(currentExecutionVariable))) {
// 1st captured group is the key of the map
const key = capturedGroup[1];
// 2nd captured group is the value of the map
const value = capturedGroup[2];
if (!currentExecutionMap.has(key)) {
currentExecutionMap.set(key, value);
}
}
for (const [key, value] of currentExecutionMap.entries()) {
console.log(`${key}: ${value}`);
}