Здравствуйте, Arsen.Shnurkov, Вы писали:
AS>Про ленивость я не осознаю на данный момент.
Ну, можно просто задекларировать, что все операции повторения ленивые.
С жадностью придётся реализовывать ленивость вручную. По сути, ленивость — это такой неявный негативный лукохед: "если можешь сматчить следующий за квантификатором кусок, то всё, стоп!"
А если нет произвольного негативного лукохеда, а только строгое неравенство (классы символов — это частный случай), то ещё и его придётся руками расписать:
/.*?abc/
{ . - "a"
| "a" , . - "b"
| "ab" , . - "c"
}
"abc"
{ . - "a"
| "a" , ( . - "b"
| "b" , ( . - "c" )
)
}
"abc"