我有一个简单的正则表达式模式来验证名称。但是当我运行它时,我收到非法字符范围错误。我认为通过转义“\s”它将允许一个空格,但编译器仍然抱怨。
public boolean verifyName(String name) {
String namePattern = "^[\\p{L}]++(?:[',-\\s][\\p{L}]++)*+\\.?$";
return name.matches(namePattern);
}
我认为这是不应该发生的错误,因为名称可能包含其中的任何一个[',-\\s]
那么我哪里不明白?
你不能有一个范围“从,
到空白”。也许你想逃避-
?
\s
不是一个空间,而是[ \t\r\n\v\f]
(空格、制表符、回车符、换行符、垂直制表符或换页符)。
有用的事情:
"[ ',-]"
"[',\\- ]"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)