Allow values to be manipulated with regex rather than just replaced

Not sure whether this is the best approach, have a look and see what you think. There's a bit of Readme and some tests