The way you described it before, it was find "the cyan number". Now you're putting in a cyan followed by no number, then another cyan followed by the number. The problem isn't with gettok, it's with $pos, which was returning the 1st match because of "11,1" near the end. If you change that to 11,2 it will return the 2nd match and give you your number.

No matter how many matches I put in, I'm not able to get regex to say anything other than 1.

//echo -a $regex(test test test test,t)