It is a reimplementation. It actually takes the regex and translates it into IL (Intermediate Language) byte code, which is in turned jitted into native machine code. It is pretty expensive to create a regex object, but they are reasonably fast at runtime (unless you recreate them every time inside a loop).