如何创建一个与任何语言的单词匹配的java正则表达式

时间:2010-12-15 10:00:53

标签: java regex

要匹配英文单词,我会使用模式[a-zA-Z]+

有没有办法编写一个与任何语言中的单词匹配的正则表达式?即使单词包含ščžé...等字符,也就是这样。我不知道世界上有哪些可能存在的角色,所以我认为纯[a-zA-Zščžé]+就足够了......

有没有更好的方法来编写这个表达式?

2 个答案:

答案 0 :(得分:12)

根据Pattern javadoc\p{L}+应匹配一系列Unicode字母(即Unicode中具有类别L的字符)。这可能是最广泛的定义,但您可能需要查看unicode categories list来决定是否要添加其他类别(例如,有一个名为“数字字母”)。

答案 1 :(得分:0)

通常你会使用一些unicode字符范围

[a-zA-Z\u0000-\u1111]

[a-zA-Zš-é]

所以你必须看一下unicode字符代码,并添加目标语言中的任何特殊字符范围