can anybody explain me step by step the procedure that the regexp engine does with the provided string?
Just wanted to say that this is a good question, and, indeed, understanding the
algorithm of something is the best way to learn it (IMO).
Unfortunately, explaining it step by step just takes too long - note, it's not difficult to explain or to understand - it just takes too much typing, since there are a lot of repetitive steps. Maybe someone'll do it anyway? Or maybe not...
So instead I recommend to read "Mastering regular expressions" by J. Friedl. It has very detailed explanations, and, AFAIK, it's still the best book about regexes. Most of examples are in Perl. It's not a big book (there are several appendixes which you can simply skip).