Я не могу понять, почему это регулярное выражение не работает, я проверил его в php и других движках регулярных выражений, где он отлично работает и соответствует ", AA,".
Pattern p = Pattern.compile("(^|,)AA(,|$)");
Matcher m = p.matcher("A,B,AA,C,D");
//assigns as false
boolean matches = m.matches();
Примечание: у меня есть метод двоичного поиска с разбиением / массивом для выполнения поиска IN_SET / NOT_IN_SET по строке. Это всего лишь пример, который мне нужно получить, прежде чем применять регулярное выражение в качестве другого варианта сравнения.