正则表达式与拉丁字符

我有这个正则表达式:

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

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

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

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

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

我该如何实现呢?

使用这个正则表达式:

 [\p{L}\s]+ 

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

小提琴 。 演示 。

查看文档并使用一个类(例如\p{Latin1Supplemental} )。