refactor RouteSpec to use a RegexSpec