У меня много путаницы в регулярных выражениях, и я пытаюсь их решить. Здесь у меня есть следующая строка:
{start}do or die{end}extended string
Два моих разных регулярных выражения, в которых я изменил только положение точки:
(.(?!{end}))* //returns: {start}do or di
//^ See here
((?!{end}).)* //returns: {start}do or die
//^ See here
Почему первое регулярное выражение съедает последнее «e»?
А также как этот отрицательный просмотр вперед делает этот квантификатор * не жадным? Я имею в виду, почему он не может потреблять символы после {end}?