const regex = /(?<!")((zombiePartyGirl)|(zombieArlene))((Feral)|(Radiated))?(?!")/mig;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?<!")((zombiePartyGirl)|(zombieArlene))((Feral)|(Radiated))?(?!")', 'mig')
const str = `<entitygroups>
<entitygroup name="ZombiesAll">
zombieBoe
zombieJoe
zombieSteve
zombieTomClark
zombieMoe
zombieYo
zombieBusinessMan
zombieArlene
zombieDarlene
zombieMarlene
zombieSkateboarder
zombieBiker, .3
zombiePartyGirl, .3
zombieUtilityWorker, .3
zombieJanitor, .2
zombieNurse, .3
zombieSteveCrawler
zombieFatHawaiian, .3
</entitygroup>
<!-- *** POI_INDIVIDUAL_ENTITY_GROUPS -->
<entitygroup name="zombieArlene">zombieArlene</entitygroup>
<entitygroup name="zombieArleneFeral">zombieArleneFeral</entitygroup>
<entitygroup name="zombieArleneRadiated">zombieArleneRadiated</entitygroup>
<entitygroup name="zombieMarlene">zombieMarlene</entitygroup>
<entitygroup name="zombieMarleneFeral">zombieMarleneFeral</entitygroup>
<entitygroup name="zombieMarleneRadiated">zombieMarleneRadiated</entitygroup>
<entitygroup name="zombiePartyGirl">zombiePartyGirl</entitygroup>
<entitygroup name="zombiePartyGirlFeral">zombiePartyGirlFeral</entitygroup>
<entitygroup name="zombiePartyGirlRadiated">zombiePartyGirlRadiated</entitygroup>
</entitygroups>`;
const subst = `zombieLab$4`;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
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