const regex = /^(.*?)$\s+?^(?=.*^\1$)
/gms;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(.*?)$\\s+?^(?=.*^\\1$)
', 'gms')
const str = `FCS-S-101 (One Slat Asymmetry)
FCS-S-101 (One Slat Asymmetry)
FCS-S-101 (One Slat Asymmetry)
FCS-S-103 (One Slat Skew)
FCS-S-103 (One Slat Skew)
FCS-S-103 (One Slat Skew)
FCS-S-68 (Uncommanded Flaps Movement)
FCS-S-68 (Uncommanded Flaps Movement)
FCS-S-68 (Uncommanded Flaps Movement)
FCS-S-68 (Uncommanded Flaps Movement)
FCS-S-68 (Uncommanded Flaps Movement)
FCS-S-70 (Flaps Jammed, Unannunciated)
FCS-S-70 (Flaps Jammed, Unannunciated)
FCS-S-70 (Flaps Jammed, Unannunciated)
FCS-S-70 (Flaps Jammed, Unannunciated)
FCS-S-70 (Flaps Jammed, Unannunciated)
FCS-S-75 (Erroneous Flaps Indication)
FCS-S-75 (Erroneous Flaps Indication)
FCS-S-79 (Flaps Asymmetry)
FCS-S-79 (Flaps Asymmetry)
FCS-S-82 / FCS-S-87 (Outboard / Inboard Flap Asymmetry)
FCS-S-82 / FCS-S-87 (Outboard / Inboard Flap Asymmetry)
FCS-S-84 / FCS-S-86 (Inboard / Outboard flap Skew)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-89 (Uncommanded Slats Movement)
FCS-S-91 (Slats Jammed, Unannunciated)
FCS-S-91 (Slats Jammed, Unannunciated)
FCS-S-91 (Slats Jammed, Unannunciated)
FCS-S-91 (Slats Jammed, Unannunciated)
FCS-S-95 (Erroneous Slats Indication)
FCS-S-95 (Erroneous Slats Indication)
FCS-S-95 (Erroneous Slats Indication)
FCS-S-95 (Erroneous Slats Indication)
FCS-S-99 (Slats Asymmetry)
FCS-S-99 (Slats Asymmetry)
FCS-S-99 (Slats Asymmetry)
FCS-S-99 (Slats Asymmetry)`;
// 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