获取非法字符范围内的正则表达式:JAVA(Getting illegal character ran

2019-08-31 14:39发布

我有一个验证的名称简单的正则表达式。 但是当我运行它,我得到非法字符范围错误。 我想通过转义“\ S”它将使一个空间,但编译器仍抱怨。

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

这是我认为不应该发生,因为一个名字可能包含这些ANNY错误[',-\\s]

所以我在哪里不理解?

Answer 1:

你不能有一个范围“由空格”。 , 也许你的意思是逃跑-

\s是不是空格,它是[ \t\r\n\v\f]空格,制表符,回车,换行,垂直制表符或换页)。

物联网,将工作:

"[ ',-]"

"[',\\- ]"


文章来源: Getting illegal character range in regex :java