It seems that I was wrong a little.
It doesn't work for 2 of the 30 items that I checked but onlt for one of them.

I made an expirament. I have created a hash table which has only 2 items and then I checked it by sending notices to myself:

on *:NOTICE:*:?: {
if ($hfind(spam,$1-,1,R).data > 0) {
echo 4 -a $v1 $regml(1)
}
}

1 = (?i)It seems that you have been infected with (.*) please download a cleaner for this virus

2 = (?i)HI! My name is (.*) I need boyfriend

When I sent a notice to myself I managed to catch the $regml(1) of only one of the messages that I sent to myself.
This made me realize that I can retrieve the $regml(1) only if the regex data on the hash table which matches the text is the last one inside the hash table. (I would assumed that it should return to the script as soon as it finds the first match).

Does anyone knows how to solve this problem, or get around it by any way??

Thanks :tongue: :tongue: