Помогите с регуляркой

  • Автор темы Автор темы martens
  • Дата начала Дата начала
  • Теги Теги
    regex

martens

Client
Регистрация
27.07.2015
Сообщения
97
Реакции
3
Баллы
8
1) Текст:
euyv334444h ### 3yf7y3333gd ### u46gfbhe ### jufjjn84urfs

Какой регуляркой из этого текста взять последнюю "jufjjn84urfs" ?
- Текст после последней " ### "

2) Текст:
"ergeg...4egerge2352..."

Какой регуляркой взять "ergeg...4egerge2352" ?
Всё, кроме последних трёх точек.
 
Последнее редактирование:
С регуляркой не подскажу.
Но можно решить следующим образом - забросить в список по разделителю (### или ...).
Потом подсчитать количество строк в списке.
Дальше получить последний элемент списка (взять строку по номеру который узнали на предыдущем шаге).

В втором случае точно также разбить по разделителю.
После чего объединить элементы списка с разделителем ... - таким образом последние ... уже не попадут в переменную.
 
1.
Код:
Развернуть Свернуть Копировать
\w+(?=$)
2.
Код:
Развернуть Свернуть Копировать
^.*(?=\.{3}$)
 
  • Спасибо
Реакции: martens
1.
Код:
Развернуть Свернуть Копировать
\w+(?=$)
2.
Код:
Развернуть Свернуть Копировать
^.*(?=\.{3}$)
Спасибо, Второе работает отлично,

А "\w+(?=$)" получается парсит текст после последнего пробела.
Мне нужно спарсить текст именно после последней комбинации " ### "
Пример-Текст:
er7eer6 4g4 ### uewrhf 6g 6tdf ### f873h g 67gt4 ### 84yu ## ggf46 6y
"84yu ## ggf46 6y" вот это какой-нибудь регуляркой можно вытащить?
 
Код:
Развернуть Свернуть Копировать
(?<=^|(\#{3}\s)).*?(?=(\s\#{3})|$)
Взять последнее совпадение
 
  • Спасибо
Реакции: martens

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