const regex = /^(.*?) = { Hash=(?P<hash>\d*), X=(?P<x>\d*), Y=(?P<y>\d*), Rot=(?P<rot>\d*), Flip=(?P<flip>\d*), Var=(?P<var>\d*) }/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(.*?) = { Hash=(?P<hash>\\d*), X=(?P<x>\\d*), Y=(?P<y>\\d*), Rot=(?P<rot>\\d*), Flip=(?P<flip>\\d*), Var=(?P<var>\\d*) }', 'gm')
const str = `Language = "Traditional Chinese"
Hideout Name = "藏身處 - 羅雀後街"
Hideout Hash = 62635
倉庫 = { Hash=3230065491, X=265, Y=227, Rot=0, Flip=0, Var=0 }
公會倉庫 = { Hash=139228481, X=340, Y=231, Rot=15326, Flip=0, Var=0 }
傳送點 = { Hash=1224707366, X=298, Y=385, Rot=22179, Flip=0, Var=1 }
工藝台 = { Hash=2059629901, X=308, Y=288, Rot=32768, Flip=0, Var=4 }
黃金地球儀 = { Hash=2306038834, X=298, Y=227, Rot=0, Flip=0, Var=0 }
娜瓦莉 = { Hash=693228958, X=322, Y=260, Rot=32768, Flip=0, Var=0 }
埃哈 = { Hash=2684274993, X=325, Y=191, Rot=34826, Flip=0, Var=0 }
艾瓦 = { Hash=2115859440, X=265, Y=207, Rot=16384, Flip=0, Var=0 }
赫蓮娜 = { Hash=845403974, X=314, Y=238, Rot=47093, Flip=0, Var=0 }`;
// 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