Speed improvements

This PR switches string splitting to use a regex instead of string splitting. Preliminary benchmarks:

```text
String splitting:

        user     system      total        real
>= 0.0.0  6.660000   0.520000   7.180000 (  7.172648)
~> 1.0    8.300000   0.550000   8.850000 (  8.864554)



Magical regex:
        user     system      total        real
>= 0.0.0  3.970000   0.300000   4.270000 (  4.282498)
~> 1.0    3.590000   0.250000   3.840000 (  3.839798)
```