Perhaps no loops needed after all:
on *:INPUT:#: { if (/* !iswm $1) && (!$ctrlenter) && (!$inpaste) { if ($regex($1-,/[(](.+)[)]/iS)) notice $snicks $regml(1) | haltdef } }
yes my mistake the asterisk in the regex should've been + instead.