const regex = new RegExp('^FLST,\\d+,\\d+,(\\d),.*?$\\n((^FITEM,\\d+,\\d+\\s*$\\n)+).*?(^[^\\n]*?,P51X.*?$\\n)', 'gms')
const str = `!*
CMDELE,_Y
CMDELE,_Y1
CMDELE,_Y2
!*
FLST,2,1,5,ORDE,1
FITEM,2,33
!*
/GO
DA,P51X,ALL,
aplot
/UI,MESH,OFF
/inquire,aeChWmsy,psearch
/inquire,cGe7Wl8b,p
keyopt,etype_,1,1
*SET,areas_,0
FLST,5,2,5,ORDE,2
FITEM,5,14
FITEM,5,18
ASEL,S, , ,P51X
asum
*get,x_,area,0,cent,x
*get,y_
`;
// 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