По умолчанию все квантификаторы (*, +, ?, {n,m}) — жадные. Это значит, что они пытаются захватить как можно больше символов.
*
+
?
{n,m}
Как работает жадный поиск:
A
.*
XXXXA
AXXXXA
Добавляем ? после квантификатора — он становится ленивым и захватывает как можно меньше.
Как работает ленивый поиск:
.*?
X
AXA
Задача: Найти все числа, ограниченные буквами FF с обеих сторон.