Я не понимаю, почему регулярное выражение (?<=i:(?>\D*))\d
не соответствует строке i:>1
.
Как я это понимаю:
- в индексе 0: просмотр назад
i
не будет соответствовать - в индексе 1: просмотр назад
i:
не будет соответствовать - в индексе 2: просмотр назад
i:(?>\D*)
будет соответствоватьi:
, но\d
после просмотра назад не будет соответствовать>
- в индексе 3: просмотр назад
i:(?>\D*)
будет соответствоватьi:>
, а\d
после просмотра назад будет соответствовать1
-> регулярное выражение удовлетворено
(?>\D*)
на\D*
, но я хочу знать, что происходит с атомарной группой. Это упрощенная версия более сложного регулярного выражения, с которым у меня возникла проблема. - person AXO   schedule 04.01.2018(?>\D*)
выполняется доi:
, аi:
сопоставляется с\D*
, а так как он находится внутри атомарной группы, возврат назад невозможен. - person Wiktor Stribiżew   schedule 04.01.2018(?>\D*)
выполняется доi:
, спасибо, но почему они это сделали? Это где-то задокументировано? - person AXO   schedule 04.01.2018