const regex = new RegExp('([\\d]+/[\\d\\w]+\\s)(([\\w\\d]+/[\\w\\d]+)\\s((?:[\\w]{1}[\\d]{4}\\s[\\w]{1}[\\d]{5}\\s\\-\\s)+[\\w]{1}[\\d]{4}\\s[\\w]{1}[\\d]{5}\\s))+', 'gm')
const str = `VA ADVISORY
STATUS: EXER
DTG: 20211116/0600Z
VAAC: LONDON
VOLCANO: EYJAFJALLAJOKULL 372020
PSN: N6338 W01938
AREA: ICELAND
SUMMIT ELEV: 1651M
ADVISORY NR: 2021/009
INFO SOURCE: ICELAND MET OFFICE
AVIATION COLOUR CODE: RED
ERUPTION DETAILS: EXERCISE VOLCEX21 - EYJAFJALLAJOKULL ERUPTION
OBS VA DTG: 16/0600Z
OBS VA CLD: SFC/FL200 N4550 W04415 - N6356 W01927 - N7353 E05847 -
N4025 E05735 - N4550 W04415 MOV SE 15KT FL200/350 N5343 W03145 -
N6355 W01932 - N7446 E05944 - N6250 E05925 - N5255 W02531 - N5343
W03145 MOV SE 40KT
FCST VA CLD +6 HR: 16/1200Z SFC/FL200 N4517 W04623 - N6356 W01924 -
N7750 E07729 - N3856 E06031 - N4517 W04623 FL200/350 N4839 W04904 -
N7025 E01017 - N7505 E07954 - N6139 E06549 - N4839 W04904
FCST VA CLD +12 HR: 16/1800Z SFC/FL200 N4010 E03817 - N4900 W04529 -
N7112 W00641 - N7617 E09941 - N4010 E03817 FL200/350 N4919 W05700 -
N7300 E03329 - N7732 E09626 - N5936 E09143 - N4919 W05700
FCST VA CLD +18 HR: 17/0000Z SFC/FL200 N4901 W05420 - N7235 E00056 -
N7558 E09708 - N3934 E05131 - N4901 W05420 FL200/350 N4933 W03842 -
N5436 W04127 - N7433 E03732 - N7935 E11430 - N6503 E10238 - N4933
W03842
RMK: EXERCISE VOLCEX21 - EYJAFJALLAJOKULL ERUPTION CONTINUES,
RECENTLY INCREASING TO APPROX 8KM
NXT ADVISORY: NO LATER THAN 20211116/1200Z`;
// 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