I have a simple regex pattern that verifies names. But When I run it I get illegal character range error. I thought by escaping "\s" it will allow a space but the compiler is still complaining.
public boolean verifyName(String name) {
String namePattern = "^[\\p{L}]++(?:[',-\\s][\\p{L}]++)*+\\.?$";
return name.matches(namePattern);
}
and this is the error that i think shouldn't be occurring since a name might contain anny of these [',-\\s]
so where am i not understanding?
You can't have a range "from ,
to whitespace". Perhaps you meant to escape -
?
\s
is not a space, it's [ \t\r\n\v\f]
(space, tab, carriage return, newline, vertical tab or a form feed).
Things that will work:
"[ ',-]"
"[',\\- ]"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With