Как искать строку из конца в начало по регулярному выражению, например:
строка: a1a2a3xx
a1a2a3xx
шаблон:((?:a\d){0,2}.*?)$
((?:a\d){0,2}.*?)$
Я надеюсь $1 получить a2a3xx, но по моей практике $1 получает a1a2a3xx.
$1
a2a3xx
Вы можете использовать отрицательный прогноз для получения желаемых результатов.
((?:a\d){0,2}(?:(?!a\d).)*)$
Это выражение будет соответствовать после a\d{0,2} всему, что не соответствует a\d
a\d{0,2}
a\d