Extracting first few digits from a long number through filters

Hi, I am looking for a logstash filter that would enable me to extract the most accurate matching result starting from left hand side of the number. Here is an example of a IMSI number has 15 digits, the first three digits present the mobile country code, the next two or three numbers are the Mobile Network code. Then the rest of the number is presented. So the question is how to extract the most accurate matching results in this case e.g.

649050007776662
MCC=649
MNC=05
MSIN=0007776662

You could do a custom pattern to break the larger number up, that'd be a bit of regexp work.
I can't see another filter that'd do what you want though.

Ok, thank you for the feedback, will try the path suggested

I could not find a regexp to do this, are there any other suggestions? I tried the translate plug in with a wild card * however this also did not work:

filter {
translate {
dictionary => [ "64905*", "operator 1" ]
}
}

Is it possible to somehow use this Ruby script in logstash?

Hi, is there maybe someone whom have a solution for this request? Assistance in getting this achieved would be appreciated.