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

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

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

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

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

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

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