const regex = /jh["(.*)"]/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('jh["(.*)"]', 'gm')
const str = `jh["S13856A"] = [[1,19,1,0,1,0,1,1,0,1,0],[2,271,1,0,1,0,1,1,0,1,0],[3,451,1,0,1,0,1,1,0,1,0],[4,15175,1,0,1,0,1,1,0,1,0]];
jh["S13856B"] = [[1,1419,1,1,0,0,2,1,1,3,0],[2,529,1,0,1,0,1,1,0,1,0],[3,463,1,0,1,0,1,1,0,1,0],[4,712,1,0,0,1,1,2,-1,0,0]];
jh["S13856C"] = [[1,84,1,1,0,0,7,0,7,3,0],[2,26,0,0,0,0,0,0,0,0,0],[3,128,0,0,0,0,0,0,0,0,0],[4,70,1,0,0,1,0,7,-7,0,0]];
jh["S13856D"] = [[1,88,1,1,0,0,5,0,5,3,0],[2,109,1,1,0,0,1,0,1,3,0],[3,254,1,0,0,1,0,1,-1,0,0],[4,429,1,0,0,1,0,5,-5,0,0]];
jh["S13856E"] = [[1,33,0,0,0,0,0,0,0,0,0],[2,165,0,0,0,0,0,0,0,0,0],[3,197,0,0,0,0,0,0,0,0,0],[4,407,0,0,0,0,0,0,0,0,0]];
jh["S13856F"] = [[1,82,0,0,0,0,0,0,0,0,0],[2,99,0,0,0,0,0,0,0,0,0],[3,466,0,0,0,0,0,0,0,0,0],[4,659,0,0,0,0,0,0,0,0,0]];
jh["S13856G"] = [[1,59,0,0,0,0,0,0,0,0,0],[2,148,0,0,0,0,0,0,0,0,0],[3,227,0,0,0,0,0,0,0,0,0],[4,468,0,0,0,0,0,0,0,0,0]];
jh["S13856H"] = [[1,86,0,0,0,0,0,0,0,0,0],[2,166,0,0,0,0,0,0,0,0,0],[3,205,0,0,0,0,0,0,0,0,0],[4,653,0,0,0,0,0,0,0,0,0]];
jh["G13856A"] =`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions