My input is a string that represent machine's execution time and date. The problem is that this string is formatted badly therefore I can't use `DateTime.Parse` to convert it to a `DateTime` object.  

Input example:

> 
> 2014-01-07-15.26.46.000452
> 
> 
> 

I need to convert it to something I can work with (replacing the last '-' with a space and the first 2 '.' with a ':') like so:

> 
> 2014-01-07 15:26:46.000452
> 
> 
> 

I figured I should use regex to solve this because I need to replace characters at specific locations so `myString.Replace` won't do any good. Unfortunately, my knowledge of using regex is close to nothing and I couldn't find any examples to match my problem.

Can anyone help me solve this one out? (Also, I would like an explanation on how & why this regex works)