我正在尝试检测字符串是否由 Android 应用程序中的所有大写字符组成。[A-Z]
作为一个字符类是不够的,因为字母可能用变音符号等装饰。我想使用\p{IsLu}+
该模式,但它不断给我一个PatternSyntaxError
.
然而,API 参考公布了这些 Unicode 类别名称。我的模拟器运行的 API 级别是 11。
如果我在正则表达式测试器上尝试我的正则表达式模式,例如在regexplanet上,它工作正常。
这是 logcat 输出:
12-06 22:08:07.854:E/AndroidRuntime(737):致命异常:主要
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)