Obb*_*bby 1 java regex escaping string-matching
我有一个简单的正则表达式模式来验证名称.但是当我运行它时,我会得到非法的字符范围错误.我想通过转义"\ s"它会允许一个空间,但编译器仍在抱怨.
public boolean verifyName(String name) {
String namePattern = "^[\\p{L}]++(?:[',-\\s][\\p{L}]++)*+\\.?$";
return name.matches(namePattern);
}
Run Code Online (Sandbox Code Playgroud)
这是我认为不应该发生的错误,因为名称可能包含这些错误 [',-\\s]
那我在哪里不明白?
你不能拥有"从空间,到空白" 的范围.也许你打算逃脱-?
\s它不是空格,它是[ \t\r\n\v\f](空格,制表符,回车符,换行符,垂直制表符或换页符).
可行的事情:
"[ ',-]"
"[',\\- ]"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2767 次 |
| 最近记录: |