java - 正则表达式匹配 Unicode 和数字字符串

标签 java android regex

问题描述

我有字符串 "Վիկտոր1 Ʊփոյան2" 使用正则表达式我想得到两个字符串的首字母。因此,我将得到 "Վ" 因为字符串是 unicode,所以我正在考虑以下正则表达式:

"(\\p{L})\\p{L}*\\s(\\p{L})\\p{L}*

如果字符串不包含数字"1""2",它工作正常,为了得到结果我还尝试了以下正则表达式:

"(\\p{L}\\p{N})\\p{L}\\p{N}*\\s(\\p{L}\\p{N})\\p{L}\\p{N}*

但这并不正确。

是否有类似"\\p{LN}" 的东西可以同时检查 Unicode 字母和数字,或者有人知道我该如何解决这个问题?

最佳答案

Is there a something like "\p{LN}" which will check for Unicode letters and numbers at the same time

使用匹配 Unicode 字母或数字的字符类 [\p{L}\p{N}]

或者将 \p{Alnum}Pattern.UNICODE_CHARACTER_CLASS 标志一起使用(或在模式前添加 (?U))。

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

相关文章:

java - 抽屉导航上的 Back Pressed Exit 对话框 Back Pressed 不起作用

java - 在 Android 应用程序中放置数据库连接的位置

javascript - 替换字符串中的 n 个模式

JavaScript 验证问题

javascript - 用于匹配 URL 的每个子域的正则表达式

java - "Missing return statement"在 if/for/while 内

java - 如何用Glide显示不同的图像?

android - 如何在启动时启动应用程序而不显示设备公司名称?

java - 如何为百台主机自动更新 jar 文件?

java - Jersey MOXy JSON 不区分大小写的解码