这是因为\\p{L}匹配一个Unicode字母,你匹配一个数字.
\\p{L}
您可以使用:
[\\p{L}\\p{Nd}.,]
匹配Unicode数字或字母.
您还应该(?U)在正则表达式前面使用Unicode支持,如下所示:
(?U)
String regex = "(?U)[\\p{L}\\p{Nd}.,]+";