private function sanitizeRequirement($key, $regex) {
if (!is_string($regex)) {
throw new \InvalidArgumentException(sprintf('Routing requirement for "%s" must be a string.', $key));
}
if ('' !== $regex && '^' === $regex[0]) {
$regex = (string) substr($regex, 1);
// returns false for a single character
}
if ('$' === substr($regex, -1)) {
$regex = substr($regex, 0, -1);
}
if ('' === $regex) {
throw new \InvalidArgumentException(sprintf('Routing requirement for "%s" cannot be empty.', $key));
}
// this is to keep BC and will be removed in a future version
if ('_scheme' === $key) {
$this
->setSchemes(explode('|', $regex));
}
elseif ('_method' === $key) {
$this
->setMethods(explode('|', $regex));
}
return $regex;
}