<?php
$expression = 'troll(s|ed|ing) bug(s|ged|ging)';
preg_match_all('~\b(.*?)\((.*?)\)~', $expression, $matches_alternates);
foreach ($matches_alternates[0] AS $alternate_key => $alternate_val) {
$alternates = explode('|', $matches_alternates[2][$alternate_key]);
foreach ($alternates AS $alternate) {
print "\n".$matches_alternates[1][$alternate_key].$alternate;
}
}
PD9waHAKCiRleHByZXNzaW9uID0gJ3Ryb2xsKHN8ZWR8aW5nKSBidWcoc3xnZWR8Z2luZyknOwoKcHJlZ19tYXRjaF9hbGwoJ35cYiguKj8pXCgoLio/KVwpficsICRleHByZXNzaW9uLCAkbWF0Y2hlc19hbHRlcm5hdGVzKTsKCmZvcmVhY2ggKCRtYXRjaGVzX2FsdGVybmF0ZXNbMF0gQVMgJGFsdGVybmF0ZV9rZXkgPT4gJGFsdGVybmF0ZV92YWwpIHsKCQoJJGFsdGVybmF0ZXMgPSBleHBsb2RlKCd8JywgJG1hdGNoZXNfYWx0ZXJuYXRlc1syXVskYWx0ZXJuYXRlX2tleV0pOwoJCglmb3JlYWNoICgkYWx0ZXJuYXRlcyBBUyAkYWx0ZXJuYXRlKSB7CgkJcHJpbnQgIlxuIi4kbWF0Y2hlc19hbHRlcm5hdGVzWzFdWyRhbHRlcm5hdGVfa2V5XS4kYWx0ZXJuYXRlOwoJfQoJCn0=