Better regex

The regex now also allow optional leading "v" or "V" since I've heard that some people use them with semantic versioning.

The regex is also a bit more strict, since it no longer allows leading or trailing stuff, by way of ^ and $ :)

There is still some improvements to do. So take some time to read and come with feedback before hitting merge.