может показаться, что типичный вариант использования будет не жадным.
Я хочу пояснить, что это неправильно, если «типичный вариант использования» не означает HTML-хакерство.
Простой пример - лексические анализаторы для языков программирования. Вы просто не хотите
foo = 42
интерпретируется как 3 переменные, за которыми следует знак равенства, за которым следуют 2 числа. Напротив, , как правило, , вы ожидаете, что ваш синтаксический анализатор рассмотрит максимально длинные совпадения.
До появления HTML мы, старшие, десятилетиями жили с жадными регулярными выражениями, и у нас все было хорошо. Даже сегодня я не использую не жадные в 99% всех случаев, по общему признанию, потому что я слишком ленив, чтобы искать синтаксис, но также и потому, что редко бывают случаи, когда нельзя просто написать хорошо завершенный жадный. Например, чтобы соответствовать строке:
"(\\"|[^"])*"