java - 正则表达式匹配字母字符

标签 java regex unicode

<分区>

我有这个正则表达式:

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

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

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

谷歌了一下,我找不到任何方法来做到这一点。

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

我该如何实现?

最佳答案

使用这个正则表达式:

[\p{L}\s]+

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

fiddle.re Demo .

关于java - 正则表达式匹配字母字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16980870/

相关文章:

java - 比较 BigDecimal

Java正则表达式最长匹配

Java Regex - 解析函数名称和参数名称 - 抛出 PatternSyntaxException : Unclosed Character

java - redis中的字符编码/解码

c++ - 多语言字符串转数字

java - Matlab 和 Java 8

java - 有人在生产中使用 URL 重写吗?

java - 枚举 valueOf() 的线程安全

regex - Grep 模式与多行与操作

java - 带有 unicode 换行符的注释语句