Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Получить в операторе совпадающее значение для регулярного выражения / 2 сообщений из 2, страница 1 из 1
06.06.2016, 17:17
    #39251410
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить в операторе совпадающее значение для регулярного выражения
Подскажите, можно ли такое сделать в одном операторе?
Есть список строк (вернее хешей), из которых нужно отобрать значения с определенными атрибутами, и на их основе сформировать хеш.
Что-то типа такого:
Код: php
1.
$idx = {map {$1 => $_->{'id'}} grep {$_->{'name'} =~ m/^(CH-[0-9]+)/} @rows};


если бы $1 относился к предшествующему grep.

________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
06.06.2016, 17:36
    #39251424
Alibek B
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить в операторе совпадающее значение для регулярного выражения
В принципе, так работает:
Код: php
1.
$idx = {map {($_->{'name'} =~ m/^(CH-[0-9]+)/) => $_->{'id'}} grep {$_->{'name'} =~ m/^(CH-[0-9]+)/} @rows};



Это правильно или есть более оптимальный способ?
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Получить в операторе совпадающее значение для регулярного выражения / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]