Мне нужна помощь, чтобы смоделировать это регулярное выражение. Думаю, на примере будет проще. Мне нужно регулярное выражение, которое соответствует запятой, но только если оно не находится внутри этой структуры: "()"
, например:
,a,b,c,d,"("x","y",z)",e,f,g,
Тогда первые пять и последние четыре запятые должны соответствовать выражению, два между xyz
и внутри раздела ()
не должны.
Я пробовал много комбинаций, но регулярные выражения для меня все еще немного туманны.
Я хочу использовать его с методом разделения в Java. Пример короткий, но он может быть намного длиннее и содержать более одного раздела между «(и)». Метод split получает выражение, и если некоторый текст (в данном случае запятая) совпадает с выражением, он будет разделителем.
Итак, хочу сделать что-то вроде этого:
String keys[] = row.split(expr);
System.out.println(keys[0]); // print a
System.out.println(keys[1]); // print b
System.out.println(keys[2]); // print c
System.out.println(keys[3]); // print d
System.out.println(keys[4]); // print "("x","y",z)"
System.out.println(keys[5]); // print e
System.out.println(keys[6]); // print f
System.out.println(keys[7]); // print g
Спасибо!