Может быть, вам подойдет следующее?
\bmin\s.*?(\d+(?:\.\d+)?)-(\d+(?:\.\d+)?)
См. Онлайн демо
Ответ в настоящее время основан на предположении (глядя на вашу текущую попытку ) вы хотите, чтобы эти диапазоны были разделены на отдельные группы. Однако, если нет, этот ответ можно быстро преобразовать, чтобы захватить всю подстроку (или см. Ответ @ TheFourthBird).
\b
- соответствие границы слова. min
- Буквально соответствует "min". \s
- Соответствует пробельному символу. .*?
- Соответствует любому символу, кроме новой строки, до (ленивый): (
- открыть 1-ю группу захвата \d+
- хотя бы один di git. (?:
- открыть группу без захвата. \.\d+
- сопоставить буквальную точку и хотя бы один di git. )?
- закрыть группу без захвата и сделать ее необязательной.
)
- закрыть 1-ю группу захвата.
-
сопоставить буквальный дефис. (
- открыть вторую группу захвата \d+
- хотя бы один di git. (?:
- Открыть группу без захвата. \.\d+
- сопоставить буквальную точку и хотя бы один di git. )?
- закрыть группу без захвата и сделать ее необязательной.
)
- Закрыть 2-ю группу захвата.