This is too much for us for now (e.g. '-' and '#'), and it does not check all cases (e.g. '1..2'). 
But I think it's ok to leave as it is. 

The No.1 target is to make sure we don't crash, and we can just describe supported formats in the documentation.