我有一个简单的正则表达式模式来验证名称。但是当我运行它时,我得到非法字符范围错误。我认为通过转义“\s”可以留出一个空格,但编译器仍在抱怨。
public boolean verifyName(String name) {
String namePattern = "^[\\p{L}]++(?:[',-\\s][\\p{L}]++)*+\\.?$";
return name.matches(namePattern);
}
这是我认为不应该发生的错误,因为名称可能包含这些[',-\\s]
所以我哪里不明白?