Вам не будет разрешено создавать два компонента для вашего класса ресурсов. Вы можете достичь того, чего вы пытаетесь достичь, используя один класс ресурсов.
Вот пример:
@Path("rest")
public class SampleResourceClass {
@Path("/public/pings")
@GET
public Responce getPings(){
/* Code Here */
}
@Path("/private/accounts")
@GET
public Response getAccounts(){
/* Code Here */
}
}
Проблема с вашим регулярным выражением в том, что все необязательно. Побочным эффектом этого является то, что вы получаете совпадения нулевой ширины между каждым символом вне ваших других совпадений.
(?:\b(?:this|is|a|string)\s*)+(?<!\s)
Чтобы ответить на ваш вопрос в комментариях, последняя часть представляет собой отрицательный взгляд сзади, чтобы убедиться, что захват не заканчивается пробелом.