const regex = new RegExp('[^u]es|ma$|mo|y|[mie]e|wi|ter|au', 'gm')
const str = `mother
mom
ma
daughter
sister
wife
grandmother
grandma
aunt
niece
queen
princess
empress
duchess
marchioness
countess
baroness
baronetess
lady
dame
father
dad
pa
son
brother
husband
grandfather
grandpa
uncle
nephew
king
prince
emperor
duke
marquess
earl
baron
baronet
lord
knight`;
// 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