Получение недопустимого диапазона символов в регулярном выражении: Java

У меня есть простой шаблон регулярных выражений, который проверяет имена. Но когда я запускаю его, я получаю недопустимую ошибку в диапазоне символов. Я думал, сбежав\ s» это позволит пространство, но компилятор все еще жалуется.

public boolean verifyName(String name) {
    String namePattern = "^[\\p{L}]++(?:[',-\\s][\\p{L}]++)*+\\.?$";
    return name.matches(namePattern);
}

и это ошибка, которую я думаю, что не долженне может произойти, так как имя может содержать любые из этих[',-\\s]

так где я не понимаю?

Ответы на вопрос(1)

Ваш ответ на вопрос