Удаление строк

Igorii

Client
Регистрация
21.02.2015
Сообщения
369
Благодарностей
292
Баллы
63
Друзья, помогите с регуляркой или кодом
Есть список типа:


Код:
href="/p/BK-eaxwjdca/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T10:08:54.000Z" class="_379kp">10m</time>
href="/p/BK-dwzSA578/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T10:03:10.000Z" class="_379kp">16m</time>
href="/p/BK-TzdHgACm/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T08:36:09.000Z" class="_379kp">1h</time>
href="/p/BK-OVxpjcD1/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T07:48:24.000Z" class="_379kp">2h</time>
href="/p/BK-SB2YhuJ1/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T08:20:38.000Z" class="_379kp">1h</time>
href="/p/BK-J2Skhrjl/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T07:09:09.000Z" class="_379kp">3h</time>
href="/p/BK-FfOahIwR/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T06:31:03.000Z" class="_379kp">3h</time>
href="/p/BK-Fdc6BCJf/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T06:30:49.000Z" class="_379kp">3h</time>
href="/p/BK-TzdIjmkd/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T08:36:09.000Z" class="_379kp">1h</time>
href="/p/BK-RLeXAwzJ/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T08:13:13.000Z" class="_379kp">2h</time>
href="/p/BK9QZ06hy1i/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-29T22:47:12.000Z" class="_379kp">11h</time>
href="/p/BK903gADTCz/" class="_ljyfo"><time title="Sep 30, 2016" datetime="2016-09-30T04:05:49.000Z" class="_379kp">6h</time>

В конце каждой строки, перед тегом </time> есть значения времени, они могут быть типа 33s, 4m, 10h, 2d. Мне нужно оставить в этом списке только строки имеющие значения с секундами (s) и минутами менее 10m (желательно, что бы это значение можно было устанавливать через переменную), а все остальные строки, со значениями более 9m нужно удалить.

Можно так же, наверное, привязаться к этим тегам <time title="Sep 30, 2016" datetime="2016-09-30T06:30:49.000Z" и удалять строки в которых прошло больше определённого значения времени от текущего, но похоже это ещё сложнее.
Буду благодарен за любой из вариантов
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 880
Баллы
113
Код:
">(\d{2}m|\d+h)<
как то так. Через переменную такое задавать не получится. Разве что тогда нужно будет каждую строку брать, проверять значение, сверять с переменной и после этого либо удалять, либо идти дальше.
 
  • Спасибо
Реакции: Igorii

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 039
Баллы
113
(?<=[^>]+">[^>]+">)\d+s|\d+m.*?(?=</time>)
отберёт только с секундами и минутами в лист ну а там проверку делай больше или меньше
 
  • Спасибо
Реакции: Igorii

Igorii

Client
Регистрация
21.02.2015
Сообщения
369
Благодарностей
292
Баллы
63

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