The problem is that you need to have a fixed position somewhere
For example: $regex(ABCDE,/(?!ABC)/) returns 1 (a match is found) because BCD != ABC. $regex keeps trying all positions and checking for that untill it finds some location that satisfies all conditions...
Here's to fix the match to the start of the second space-delimited token (word)
//echo -s d $regex(all.kinds-of_stuff: ABCDdfg,/^[^ ]+\x20(?!233|ABCD)/)
To allow the second word to start with the given pattern but have something else after it:
//echo -s d $regex(alll.kinds.of_stuff: ABCDdfg,/^[^ ]+\x20(?!(?:233|ABCD)\b)/)
To filter out all occurrences of ABCD or 233 in the second word:
//echo -s d $regex(alll.kinds.of_stuff: sdfgABCDdfg,/^([^ ]+\x20(?!\w*(?:233|ABCD)))
To filter out all text with 233 or ABCD anywhere:
//echo -s d $regex(alll.kinds.of_stuff: sdfgABCDdfg,/^(?!.*(?:233|ABCD))/)
(Yes, the ^ at the start is required, otherwise it will match BCDdfg
Hope you can use these to produce something to your liking. I used the /echo stuff to test myself, you can filter out the /regex/ yourself I hope
Also, check out the PCRE manual
from around line 1574 on, it contains everything you need to know about regex themselves, and that library is used in mIRC.