标签: java regex unicode
我有这个正则表达式:
if (cadena.matches("^[a-zA-Z ]+$")) return true;
它接受从A到Z的小写和大写。也接受空格。
但这只适用于英语。例如,在加泰罗尼亚语中我们有'ç'字符。我们还有'á'或'à'等字符。
有些谷歌和我找不到任何方法来做到这一点。
我发现我可以过滤掉UTF-8,但这会接受不是字母的字符。
我该如何实现?
答案 0 :(得分:22)
使用此正则表达式:
[\p{L}\s]+
\p{L}表示任何Unicode字母。
\p{L}
fiddle.re Demo
答案 1 :(得分:-2)
查看documentation并使用课程(例如\p{InLATIN_1_SUPPLEMENT})。
\p{InLATIN_1_SUPPLEMENT}