регулярное выражение Java для извлечения содержимого в квадратных скобках

Используйте pg_dump , а затем psql или pg_restore - в зависимости от того, вы выбираете опции -Fp или -Fc для pg_dump.

Пример использования:

ssh production
pg_dump -C -Fp -f dump.sql -U postgres some_database_name
scp dump.sql development:
rm dump.sql
ssh development
psql -U postgres -f dump.sql

29
задан so_mv 23 October 2010 в 21:17
поделиться

3 ответа

Немного более кратко:

String in = "Item(s): [item1.test],[item2.qa],[item3.production]";

Pattern p = Pattern.compile("\\[(.*?)\\]");
Matcher m = p.matcher(in);

while(m.find()) {
    System.out.println(m.group(1));
}
79
ответ дан Jared 23 October 2010 в 21:17
поделиться

Вы должны использовать положительный прогноз и взгляд сзади:

(?<=\[)([^\]]+)(?=\])
  • (? < = [) Совпадает все, после чего следуют [
  • ([^]] +). любая строка, не содержащая]
  • (? =]) Соответствует всему предшествующему]
8
ответ дан gnom1gnom 23 October 2010 в 21:17
поделиться

Я бы разбил после обрезки предыдущего или конечного мусора:

String s = "Item(s): [item1.test], [item2.qa],[item3.production] ";
String r1 = "(^.*?\\[|\\]\\s*$)", r2 = "\\]\\s*,\\s*\\[";
String[] ss = s.replaceAll(r1,"").split(r2);
System.out.println(Arrays.asList(ss));
// [item1.test, item2.qa, item3.production]
1
ответ дан maerics 23 October 2010 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: