Найти последнее слово между двумя нижними подчеркиваниями используя Regex
Например, дана строка some_text_text2_text3_asdasdasd. Нужно найти последнее слово между двумя нижними подчеркиваниями через regex. Для этой строки это подстрока text3. Спасибо за любую помощь :)
Ответы (1 шт):
Автор решения: vsemozhebuty
→ Ссылка
Попробуйте так (пример на JS):
console.log(
'some_text_text2_text3_asdasdasd'
.match(/(?<=_)[^_]+(?=_[^_]*$)/)[0]
);
Ищем любое количество символов, отличных от почёркивания:
[^_]+
перед которыми есть подчёркивание:
(?<=_)
и после котрых есть подчёркивание, последнее в строке:
(?=_[^_]*$)
Если не поддерживается lookbehind, можно так:
console.log(
'some_text_text2_text3_asdasdasd'
.match(/_([^_]+)(?=_[^_]*$)/)[1]
);