Страница 1 из 1
Регулярные выражения: несколько значений одним выражением
Добавлено: Пн фев 04, 2013 11:43 am
Shaiden
Собственно есть такой вопрос. Можно ли одним регулярным выражением получить сумму подстрок. Т.е. к примеру имеется вот такой текст:
Код: Выделить всё
<span class="b-thermometer-info__mark">Восход: </span>09:32 <span class="b-thermometer-info__mark">Заход: </span>18:11</div>
Чтобы получить время восхода солнца я сделал вот такое выражение:
Оно корректно достает время восхода. Теперь я хочу достроить выражение так, чтобы в него попал вот такой текст: 09:32 18:11. Решил пойти по наитию и сделал вот так:
Код: Выделить всё
Восход: <\/span>(.+?)<span class.*?Заход: <\/span>(.+?)<\/div>
Думал, что обработка произойдет следующим образом: возьмется время восхода, а затем просмотр текста продолжится и возьмется собственно время захода. Но не тут-то было. Поиск по интернету не выдает ничего похожего, может быть не так ищу конечно, но все же. Кто нибудь может подсказать, это реально? Или регулярные выражения так не работают?
Re: Регулярные выражения: несколько значений одним выражение
Добавлено: Пн фев 04, 2013 2:19 pm
sergejey
Сейчас в веб-переменных берётся первое вхождение, т.е. первые скобки. В принципе, не сложно сделать, чтобы все найденные совпадения приклеивались друг к другу для результата. Так имеется в виду?
Re: Регулярные выражения: несколько значений одним выражение
Добавлено: Вт фев 05, 2013 6:19 am
Shaiden
sergejey писал(а):Сейчас в веб-переменных берётся первое вхождение, т.е. первые скобки. В принципе, не сложно сделать, чтобы все найденные совпадения приклеивались друг к другу для результата. Так имеется в виду?
Именно! Поясню для каких целей.
Например нужно не просто взять цифры а получить целиком таблицу или фрагмент. Я например захотел взять полностью данные по погоде с яндекса (
http://pogoda.yandex.ru/tyumen/) в красивом виде, но вся страница мне не нужна. Т.е. нужно взять шапку страницы для корректного вывода таблички по городу (той которая самая верхняя), а затем непосредственно данные, которые находятся на много строчек ниже. Т.е. фактически нужно сформировать упрощенную страницу из текущей, чтобы получилось нечто вроде виджета. Также такая возможность будет удобна при необходимости сформировать строку определеногго формата, используя данные со страницы.
Конечно можно и вручную прописать шапку, но это уже несколько не то, как я думаю. В случае со строкой из нескольких данных так вообще не выйдет ничего.
Re: Регулярные выражения: несколько значений одним выражение
Добавлено: Вт фев 05, 2013 7:43 pm
anemcov
а скриптом не проще вытащить и сунуть в переменную или сразу в свойство?
Re: Регулярные выражения: несколько значений одним выражение
Добавлено: Ср фев 06, 2013 6:57 am
Shaiden
anemcov писал(а):а скриптом не проще вытащить и сунуть в переменную или сразу в свойство?
Может быть и проще, я просто хотел узнать возможность сделать это с помощью регулярных выражений, ведь если можно, то так было бы намного проще.
Re: Регулярные выражения: несколько значений одним выражение
Добавлено: Ср фев 06, 2013 11:32 am
sergejey
Я добавлю "суммирование" результата, чтобы всё, что в скобках было в результате, а не только первая скобка.
Re: Регулярные выражения: несколько значений одним выражение
Добавлено: Чт фев 07, 2013 10:59 am
sergejey
В последней версии в исходниках все найденные значения (в скобках) склеиваются в результате.