Спецификация Java EE REST, JAX-RS, описывает перевод переменных пути в регулярные выражения, например, в /customer/{id}
.'+' и '?' последовательно в регулярном выражении
От JAX-RS 1.1 Spec, стр 19:
заменить каждый переменный шаблон URI с захватом группой, содержащей указанное регулярное выражением или '(? [/] +)', Если нет регулярного выражения не является указано.
В API Java документ из java.util.regex.Pattern говорит:
X? X, once or not at all
X+ X, one or more times
Итак, что означает +?
?
, чтобы уточнить, негласное выражение - это выражение, в котором производится кратчайшее совпадение, а в жадном - самый длинный из возможных. – bgw
Спасибо, я этого не знал. Но что это значит в этом случае '([/] +?)'? Насколько я понимаю, все читается до следующего '/', было бы жадно или нет. – deamon
В этом случае часть '[/] +' была бы ленивой и попыталась поймать только один символ ('+' по крайней мере один) с [^ /] *? ничего не поймают. –