Regex to extract/replace strings

by Luiza CICONE

HTML

<pre id="i">Initial: </pre>
<pre id="s">String: </pre>
<pre id="dv">Dynamic values: </pre>

JavaScript

const string = "My {first_value} test {sencond_value}";


const regex = /\{(.+?)}/g;

let matched = [...string.matchAll(regex)];
let dynamicValues = matched.map(d => d[1]);

let i = 0;
let result = string.replace(regex, () => `{${i++}}`);


// Display

const inn = document.getElementById('i');
inn.innerHTML += string;

const s = document.getElementById('s');
s.innerHTML += result;

const dv = document.getElementById('dv');
dv.innerHTML += JSON.stringify(dynamicValues);