Самое простое решение, которое я могу себе представить, - это использование .*\K_
, однако не все ароматы регулярных выражений поддерживают \K
.
Если нет, другой идеей было бы использовать _(?=[^_]*$)
Youиметь демоверсию опции first и second .
Объяснение:
.*\K_
: извлекает любой символ доподчеркиваниеПоскольку квантификатор *
является жадным, он будет соответствовать до последнего подчеркивания.Затем \K
отбрасывает предыдущее совпадение, а затем мы сопоставляем подчеркивание.
_(?=[^_]*$)
: извлекаем подчеркивание, которому предшествуют символы не подчеркивания, до конца строки