Я бы не рекомендовал делать это, но если вам необходимо:
Pattern pattern = Pattern.compile("\\s(\\w+(?:\\s\\w+){0,5})\\s{2}", Pattern.MULTILINE);
Matcher match = pattern.matcher(text);
if (match.find())
System.out.println(match.group(1));
Заменить if
на while
, если вам нужно найти больше заголовков в той же строке (здесь она называется текстом).Это находит заголовки с 1-6 словами, так как ваш заголовок состоит из 6 слов (не 5), как FailedDev, упомянутый в комментариях.
Как я уже упоминал в комментарии, и Эрик Ларссон повторил, это будет намного быстреечитать строку за строкой и привязывать соответствие к началу строки.