要匹配英文单词,我会使用模式[a-zA-Z]+
。
有没有办法编写一个与任何语言中的单词匹配的正则表达式?即使单词包含ščžé...
等字符,也就是这样。我不知道世界上有哪些可能存在的角色,所以我认为纯[a-zA-Zščžé]+
就足够了......
有没有更好的方法来编写这个表达式?
答案 0 :(得分:12)
根据Pattern javadoc,\p{L}+
应匹配一系列Unicode字母(即Unicode中具有类别L的字符)。这可能是最广泛的定义,但您可能需要查看unicode categories list来决定是否要添加其他类别(例如,有一个名为“数字字母”)。
答案 1 :(得分:0)
通常你会使用一些unicode字符范围
[a-zA-Z\u0000-\u1111]
或
[a-zA-Zš-é]
所以你必须看一下unicode字符代码,并添加目标语言中的任何特殊字符范围