【发布时间】:2012-11-25 02:05:35
【问题描述】:
我正在尝试检测一个字符串是否由 Android 应用程序中的所有大写字符组成。 [A-Z] 作为字符类是不够的,因为字母可能用变音符号等装饰。我想使用\p{IsLu}+ 作为模式,但它不断给我一个PatternSyntaxError。
但是,API reference 宣传这些 Unicode 类别名称。我的模拟器运行的 API 级别是 11。
如果我在正则表达式测试器上尝试我的正则表达式模式,例如在regexplanet 上运行良好。
这是 logcat 输出:
12-06 22:08:07.854:E/AndroidRuntime(737):致命异常:main
12-06 22:08:07.854: E/AndroidRuntime(737): java.util.regex.PatternSyntaxException: U_ILLEGAL_ARGUMENT_ERROR
12-06 22:08:07.854: E/AndroidRuntime(737): \p{isLu}+
12-06 22:08:07.854: E/AndroidRuntime(737): at java.util.regex.Pattern.compileImpl(Native Method)
【问题讨论】:
标签: java android regex unicode uppercase