Не думаю, что так можно. Проще и понятнее сделать в два шага, сначала вытащить из квадратных скобок содержимое
"bla":\[([^\]]*)\]
А потом из найденного содержимого квадратных скобок получить все группы
"([0-9]+)"
String input = "\"bla\":[\"1000\",\"1002\",\"1\",\"22222\",\"333\",\"3333\",\"33344\"]";
Pattern pattern = Pattern.compile("([0-9]){1,}");
Matcher matcher = pattern.matcher(input.replaceAll("\"bla\":\\[([^\\]])\\]", "$1"));
while (matcher.find()) {
System.out.println("g:"+ matcher.start() + " " + matcher.group());
}
А если не советовать split, то проще наверное gson использовать. Там можешь json структуру обойти и получить массив не избретая велосипед и не обязательно