![]() |
|
Модераторы: ginnie |
![]()
|
|
| Egik2 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 29.7.2008 Где: Агудзера Репутация: нет Всего: 11 |
Добрый день!!!
Необходимо составить рег выражение, которое истинно, для тех строк, которые не начинаются на 172 или 127. Понимаю, как составить для строк которые начинаются на эти цифры: /^(172|127)/, а наоборот как? -------------------- Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall) a-nav.com developer-blog.ru world-poetry.org |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 1 Всего: 49 |
Egik2, предлагаю два варианта
1. /^(?!127|172)/ 2. $value !~ /^(172|127)/ -------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| Egik2 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 29.7.2008 Где: Агудзера Репутация: нет Всего: 11 |
А если я хочу это выражение использовать в grep, то 1 вариант не работает, а второй даже не знаю, как приспособить
Работает следующим образом, но это совсем криво grep -E '^1[^7][^2]' access_log Добавлено через 1 минуту и 4 секунды А вообще не то написал, так я отсеиваю только 172 -------------------- Три великие добродетели программиста: лень, нетерпение и самомнение (Larry Wall) a-nav.com developer-blog.ru world-poetry.org |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: нет Всего: 50 |
grep -Ev '^(127|172)' access_log
И вместо grep (а также sed и многих др. unixutils) можно успешно использовать perl: он отлично приспособлен для выполнения коротких и вместе с тем очень гибких "программ" perl -ne '/^(172|127)/ || print' access_log perl -ne '/^(?!127|172)/ && print' access_log Это сообщение отредактировал(а) amg - 25.11.2008, 14:26 |
|||
|
||||
| tolkien |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 277 Регистрация: 5.4.2008 Репутация: нет Всего: 4 |
Это сообщение отредактировал(а) tolkien - 27.11.2008, 05:13 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |