VicTHOR, при разворачивании строки, меняется и направление слов. Но можно ли начинать с конца идти в начало, но чтобы патерн сравнивался с начала по конец подстроки.
Нет, алгоритмы поиска всегда слева на право работают. Ускорить поиск можно лишь дробя строку на чанки начиная с конца и выполняя матчинг в этих чанках.
Результат поиска совпадений, как правило, вернет Matcher. Можно пройти по всем совпадениям и записать их в массив. А далее уже с конца массива обработку вести, как вариант.
Динар Зарипов, так уже было сделано, но так как я сказал выше, объем данных очень большой, и это бы было очень затратно. В итоге написал функцию, переделывающую регулярное выражение в реальном времени таким образом, чтобы всегда брались посление N значений(что мне и нужно было).