Взать из списка первое значение по регулярке

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
742
Баллы
113
Привет. Парни подскажите, пожалуйста.
Есть список, содержит эти строки

HTML:
{"title":"1 серия","file":"https://www.youtube.com/watch?v=FlViZBQLGNM","descr":"","datetime":"","announce":"other","ostring":"1 серия доступна к просмотру на YouTube<br>БЕСПЛАТНО И ЛЕГАЛЬНО"},
{"title":"2 серия","file":"https://www.ivi.ru/watch/vezyot/475783","descr":"","datetime":"","announce":"other","ostring":"2 серия доступна к просмотру на IVI<br>БЕСПЛАТНО И ЛЕГАЛЬНО"},
{"title":"3 серия","file":"https://www.ivi.ru/watch/vezyot/475784","descr":"","datetime":"","announce":"other","ostring":"3 серия доступна к просмотру на IVI<br>БЕСПЛАТНО И ЛЕГАЛЬНО"},
{"title":"4 серия","file":"https://www.ivi.ru/watch/vezyot/475785","descr":"","datetime":"","announce":"other","ostring":"4 серия доступна к просмотру на IVI<br>БЕСПЛАТНО И ЛЕГАЛЬНО"},
{"title":"5 серия","file":"https://www.youtube.com/embed/Lv86zlUsZU8","descr":"","datetime":"","announce":"yes","ostring":""},
{"title":"6 серия","file":"https://www.youtube.com/embed/NdGwWfx2RjU","descr":"","datetime":"","announce":"yes","ostring":""},
{"title":"7 серия","file":"https://www.youtube.com/embed/Lv86zlUsZU8","descr":"","datetime":"","announce":"yes","ostring":""},
{"title":"8 серия","file":"https://www.youtube.com/embed/NdGwWfx2RjU","descr":"","datetime":"","announce":"yes","ostring":""},

Мне нужно получить первую строку у которой есть ,"announce":"yes",
На примере моего списка это получается строка, где 5 серия. Вариант перебора, смогу сделать сам но это самый последний вариант.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
5 933
Благодарностей
6 389
Баллы
113
как вариант, не претендую ни на что

1. можно удалять все что не равно, потом брать 1ю строку
2. можно переносить в другой список, но это может быть громоздко
 
  • Спасибо
Реакции: Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
742
Баллы
113
Да вот теперь надо прописать первое совпадение, нужна правильная регулярка, а так да выделить подсписок, по регулярке и потом взять первую строку, это лучше, чем перебор
\{"title":".*?,"announce":"yes",(?="ostring":""})
1637339122686.png
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 560
Благодарностей
8 733
Баллы
113
Мне нужно получить первую строку у которой есть ,"announce":"yes",
С помощью "Операции над списком - Получить строку - Содержит текст: ,"announce":"yes",
Будет взята первая попавшаяся строка с этим критерием.

85701
 
  • Спасибо
Реакции: doc и Roman48

Roman48

Client
Регистрация
28.02.2016
Сообщения
2 058
Благодарностей
742
Баллы
113
С помощью "Операции над списком - Получить строку - Содержит текст: ,"announce":"yes",
Будет взята первая попавшаяся строка с этим критерием.

Посмотреть вложение 85701
Спасибо большее, а как можно взять, если такое возможно, тот же список, но теперь взять, последнею строку у которой
"announce":"other"
На примере списка выше это
4 серия
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 560
Благодарностей
8 733
Баллы
113
Спасибо большее, а как можно взять, если такое возможно, тот же список, но теперь взять, последнею строку у которой
"announce":"other"
На примере списка выше это
4 серия
Тут уже через подсписок - берем в подсписок строки где есть содержание "announce":"other" и из подсписка берем последнюю строку.
 
  • Спасибо
Реакции: Roman48

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