正则表达式匹配字母字符

时间:2013-06-07 09:36:36

标签: java regex unicode

我有这个正则表达式:

if (cadena.matches("^[a-zA-Z ]+$")) return true;

它接受从A到Z的小写和大写。也接受空格。

但这只适用于英语。例如,在加泰罗尼亚语中我们有'ç'字符。我们还有'á'或'à'等字符。

有些谷歌和我找不到任何方法来做到这一点。

我发现我可以过滤掉UTF-8,但这会接受不是字母的字符。

我该如何实现?

2 个答案:

答案 0 :(得分:22)

使用此正则表达式:

[\p{L}\s]+

\p{L}表示任何Unicode字母。

fiddle.re Demo

答案 1 :(得分:-2)

查看documentation并使用课程(例如\p{InLATIN_1_SUPPLEMENT})。