$re = '/(?<!")((zombiePartyGirl)|(zombieArlene))((Feral)|(Radiated))?(?!")/mi';
$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>';
$subst = "zombieLab$4";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$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 PHP, please visit: http://php.net/manual/en/ref.pcre.php