我想确保一个字符串只包含字母字符(具有特殊字符,如 "é"、"è"、"ç"、"Ç"、"ï"
等。 ).
我这样做了,但是对于特殊字符返回 false...
if (myString.matches("^[a-zA-Z]+$")) {
return true;
}
谢谢大家!
最佳答案
您可以使用 Unicode Category : \\p{L}
或 \\P{Letter}
匹配来自任何语言的任何类型的字母。
if (myString.matches("\\p{L}+")) {
return true;
}
顺便说一句,String.matches
尝试匹配整个字符串,因此不需要 ^
、$
anchor 。
关于Java:字符串模式:如何为所有具有特殊字符的字母字符指定正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34369248/