regex взять последнее значение после определенного повторяющегося символа

nussus

Client
Регистрация
19.08.2016
Сообщения
26
Благодарностей
13
Баллы
3
Устал с поиском решения. Если кому не трудно, напишите регулярку, я думаю это будет многим полезно.
Есть строка сайта: https://www.siterandom.gnu/randomabc/randomcba/randomtext_randomtext_randomtext_randomtext_12345 (после символа _ нужно взять значение 12345)
Собственно нужно вытаскивать данные после самого последнего символа _
А вообще был бы признателен, если поможете вытаскивать не только по последнему совпадению, но и например где-нибудь в центре строки после символа _
Встроенным конструктором pm с лёту не получается (?<=_\d).* это работает не так как нужно, выдает randomtext_randomtext_12345
 

nussus

Client
Регистрация
19.08.2016
Сообщения
26
Благодарностей
13
Баллы
3
Устал с поиском решения. Если кому не трудно, напишите регулярку, я думаю это будет многим полезно.
Есть строка сайта: https://www.siterandom.gnu/randomabc/randomcba/randomtext_randomtext_randomtext_randomtext_12345 (после символа _ нужно взять значение 12345)
Собственно нужно вытаскивать данные после самого последнего символа _
А вообще был бы признателен, если поможете вытаскивать не только по последнему совпадению, но и например где-нибудь в центре строки после символа _
Встроенным конструктором pm с лёту не получается (?<=_\d).* это работает не так как нужно, выдает randomtext_randomtext_12345
Причем randomtext_ в строке может быть сколь угодно много
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 430
Благодарностей
9 531
Баллы
113
Устал с поиском решения. Если кому не трудно, напишите регулярку, я думаю это будет многим полезно.
Есть строка сайта: https://www.siterandom.gnu/randomabc/randomcba/randomtext_randomtext_randomtext_randomtext_12345 (после символа _ нужно взять значение 12345)
Собственно нужно вытаскивать данные после самого последнего символа _
А вообще был бы признателен, если поможете вытаскивать не только по последнему совпадению, но и например где-нибудь в центре строки после символа _
Встроенным конструктором pm с лёту не получается (?<=_\d).* это работает не так как нужно, выдает randomtext_randomtext_12345
Причем randomtext_ в строке может быть сколь угодно много
Попробуйте использовать такую регулярку: [^_]+$
 
  • Спасибо
Реакции: nussus

nussus

Client
Регистрация
19.08.2016
Сообщения
26
Благодарностей
13
Баллы
3
Попробуйте использовать такую регулярку: [^_]+$
Работает, спасибо, но только для одной строки. А если такие строки в списке, как сделать регулярку чтобы все строки обрабатывались в списке?
 

one

Client
Регистрация
22.09.2015
Сообщения
6 915
Благодарностей
1 290
Баллы
113
Работает, спасибо, но только для одной строки. А если такие строки в списке, как сделать регулярку чтобы все строки обрабатывались в списке?
Брать строки по очередно и распаршивать как надо. Результат складывать куда нибудь.
 
Последнее редактирование:

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
21 430
Благодарностей
9 531
Баллы
113
Работает, спасибо, но только для одной строки. А если такие строки в списке, как сделать регулярку чтобы все строки обрабатывались в списке?
Действуйте вариантом, который подсказали постом выше.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)