我在Java 正则表达式库基准测试(基准测试源代码:regtest.java)中找到了icu4j库的 UnicodeSet 类。我正在尝试使用以下代码对其进行测试。似乎 UnicodeSet 有自己的模式语法,与 PCRE 不完全兼容。
String exp = "^[abc]x?c$";
com.ibm.icu.text.UnicodeSet uniset = new com.ibm.icu.text.UnicodeSet("[" + exp + "]");
java.util.regex.Pattern regex = java.util.regex.Pattern.compile(exp);
System.out.println(uniset.containsAll("ac")); //Returns false
System.out.println(regex.matcher("ac").matches()); //Returns true
如何重写上面的表达式,它可以与 UnicodeSet 一起正常工作?
我正在使用 ICU4J (49.1) 库。