Повторная обратная ссылка фиксирует только последнее повторение.Ваше регулярное выражение совпадает со всеми четырьмя экземплярами в этой последней строке, но оно перезаписывает каждое совпадение следующим, оставляя только [04:39.50]
в конце.
Решение: повторите группу без захвата и поместите повторяющиесярезультат в группу захвата:
((?:\\[(\\d{2}):(\\d{2})\\.(\\d{2})\\])+)(.+)
Вы, конечно, можете получить доступ только от $2
до $4
для последнего повторения, но это общее ограничение регулярных выражений.Если вам нужно получить доступ к каждому совпадению по отдельности, вплоть до частей минут / секунд / кадров, затем используйте
((?:\\[\\d{2}:\\d{2}\\.\\d{2}\\])+)(.+)
, чтобы сначала сопоставить каждую строку, а затем примените второе регулярное выражение к $1
в итерации, чтобы извлечьминуты и т. д.: * 10101
\\[(\\d{2}):(\\d{2})\\.(\\d{2})\\]