const regex = /^(?!\w*(\w)(\w)\2\1).*/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(?!\\w*(\\w)(\\w)\\2\\1).*', 'gm')
const str = `acritan
aesthophysiology
amphimictical
baruria
calomorphic
disarmature
effusive
fluted
fusoid
goblinize
nihilistic
noisefully
picrorhiza
postarytenoid
revolutionize
suprasphanoidal
suspenseful
tapachula
transmit
unversatile
vibetoite
abba
anallagmatic
bassarisk
chorioallantois
coccomyces
commotive
engrammatic
glossoscopia
hexacoralla
hippogriffin
inflammableness
otto
overattached
saffarid
sarraceniaceae
scillipicrin
tlapallan
trillion
unclassably
unfitting
unsmelled
warrandice`;
// 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