<?php
$str = "/hello/{:num}/{:str}/";
$replace = [
"num" => "[0-9]",
"str" => "[a-zA-Z]"
];
'/{:(.*)}/U',
function ($matches) use ($replace) {
if(isset($replace[$matches[1]])) { return $replace[$matches[1]];
}
else {
return $matches[0];
}
},
$str
);
echo $str;
PD9waHAKCiRzdHIgPSAiL2hlbGxvL3s6bnVtfS97OnN0cn0vIjsKJHJlcGxhY2UgPSBbCgkibnVtIiA9PiAiWzAtOV0iLAoJInN0ciIgPT4gIlthLXpBLVpdIgpdOwokc3RyID0gcHJlZ19yZXBsYWNlX2NhbGxiYWNrKAoJCScvezooLiopfS9VJywKCQlmdW5jdGlvbiAoJG1hdGNoZXMpIHVzZSAoJHJlcGxhY2UpIHsKCQkJaWYoaXNzZXQoJHJlcGxhY2VbJG1hdGNoZXNbMV1dKSkgewoJCQkJcmV0dXJuICRyZXBsYWNlWyRtYXRjaGVzWzFdXTsKCQkJfQoJCQllbHNlIHsKCQkJCXJldHVybiAkbWF0Y2hlc1swXTsKCQkJfQoJCX0sCgkJJHN0cgoJKTsKZWNobyAkc3RyOw==