Предполагая, что единственное место, где в поле разрешены пробелы, заключено в квадратные скобки в поле даты, и что нет пустых полей, вы можете использовать это:
Pattern regex = Pattern.compile(
"^(?:\\S+\\s+){6} # first 6 fields\n" +
"(\\S+)\\s+ # field 7\n" +
"\\[([^]]+)\\]\\s+ # field 8\n" +
"(\\S+) # field 9",
Pattern.MULTILINE | Pattern.COMMENTS);
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
for (int i = 1; i <= regexMatcher.groupCount(); i++) {
// matched text: regexMatcher.group(i)
// match start: regexMatcher.start(i)
// match end: regexMatcher.end(i)
}
}