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) ライブラリを使用しています。