Один простой способ, предполагая, что формат всех ваших входных данных является согласованным, состоит в том, чтобы полностью игнорировать регулярное выражение и просто разбивать его.Будет работать что-то вроде следующего:
String[] parts = input.split(","); // parts is ["[AO_12345678", "Real Estate]"]
String firstWithoutBrace = parts[0].substring(1);
String secondWithoutBrace = parts[1].substring(0, parts[1].length() - 1);
String first = firstWithoutBrace.trim();
String second = secondWithoutBrace.trim();
Конечно, вы можете настроить это по своему усмотрению - вы можете проверить наличие фигурных скобок, например, перед их удалением.Или вы можете оставить пробелы перед запятой как часть первой строки.Однако это должно дать вам основу для изменения ваших конкретных требований.
И в таком простом случае, как этот, я бы предпочел код, подобный приведенному выше, регулярному выражению, которое извлекло две строки - я считаю, что первое оченьпонятнее!