Лучший способ увидеть то что ты хочешь это написать (ca)+cactus тогда будет переход назад, но стейтов ты пройдешь максимум ровно столько сколько символов в строке. Почитай теорию конечных автоматов
Это детали, зависит от того как реализовать. Есть множество алгоритмов, начиная от 256*2 байт на стейт и заканчивая mixed switch goto, который почти ничего не жрет по памяти
Я хочу увидеть, какому автомату соответствует эта регулярка https://t.me/modernperl/199658 и увидеть список стейтов, по которым он ходит при входной строке «cacactus» если утверждается, что он сматчит ее без бэктрекинга
Это switch case с предварительной проверкой диапазона и последующим goto на блок с новым стейтом. Специфика такова что почти на всех транзишенах он работает быстрее чем таблица, причем заметно, но не занимает памяти. Но подходит только для jit / compile