| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Регулярные выражения > Сохранение всех результатов |
| Автор: kalabro 21.1.2010, 01:49 | ||||
| Доброй ночи. Не знала, как назвать тему. Есть строка:
Хочу выбрать только все фрукты, т.е. получить массив
Пример сильно упрошен Сейчас я делаю так: ищу «Фрукты:» и первую точку с запятой после них, выделяю эту подстроку и там уже спокойненько разбираю свои фрукты, но почему-то кажется, что можно одним регулярным выражением обойтись. Спасибо, что прочли ;) |
| Автор: krypt3r 21.1.2010, 07:42 | ||
|
| Автор: kalabro 21.1.2010, 08:04 |
| krypt3r, такой вариант я и сама реализовала, о чем и сообщила в первом посте ;) Вопрос в том, чтобы как-нибудь так написать регулярное выражение, чтобы сразу возвращался такой массив. Зачем? — Интересно |
| Автор: sir_nuf_nuf 21.1.2010, 12:21 | ||
Вот так:
Вооще немного кривовато, но работает. Операция сопоставления с регуляркой =~ вызванная в списковом контексте возвращает массив совпадающих подстрок. Это не точная формулировка, RTFM. P.S. utf8 - можно убрать.. это для меня было |
| Автор: Logo 21.1.2010, 20:30 | ||||
| Ну, раз интересно: A
B
|
| Автор: RomanCh 13.2.2010, 15:04 | ||
Раз уж тема создана "ради интереса", то и сроков давности она не имеет
Результатом будет, как и ожидалось: n1|n2|n3|n4 |