我的目标:我想检查一个 Java 字符串是否包含来自 GSM Extended 的字符。现有代码成功检查了 GSM 字符,但我很难掌握如何检查 GSM 扩展字符,例如“[”和“]”。
我的代码:
private static final String GSM_EXTENDED = "\u000c^{}\\[~]|\u20ac";
public static boolean isUnicode(String input) {
return !((input.matches('[' + GSM + "]*")) || (input.matches('[' + GSM_EXTENDED + "]*")));
}
结果:我的单元测试无法将 ']' 识别为 GSM Extended,此外,当从 GUI 输入任何 GSM Extended 字符时,它们不会被识别为 GSM。