![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Bulat |
|
||||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
по регулярным выражениям тем много было, но с такой проблемой вроде не нашел.......
есть условие:
так вот когда:
все срабатывает нормально, а когда вместе с && ($bufline=~m/delivery/gi) && ($bufline=~m/$delivery/gi), не срабатывает??? -------------------- менеджер по кодеврайтингу |
||||
|
|||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
дык может ||
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
Romikgy, но мне нужен and, а не or
-------------------- менеджер по кодеврайтингу |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
тогда уточни почему у тя то работает , а то нет.....
если выполняется это условие а хоть одно из этих нет то весь иф не выполнится, ты конкретно опиши что хочешь получить в конце -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
Romikgy, ну мотри тогда по полной, у мну есть файл в котором встречаются такие строки:
дык вот условие ($bufline!~m/starting/gi), соответственно на отсутствие в строке символа starting, мне нужно чтобы выцеплять все строки кроме starting delivery 117504: msg 2522767 to local [email protected]. И оно в одиночестве работает, действительно из файла выцепляются все строки(а там еще и другие есть), кроме вышеуказанной. А условия ($bufline=~m/delivery/gi) && ($bufline=~m/$delivery/gi), мне нужны чтобы конкретно выцепить строку delivery 117504: success: did_0+0+1/, т.е ($bufline=~m/delivery/gi)~delivery, а ($bufline=~m/$delivery/gi)~117504(в конкретном случае). так вот когда я соединяю все три условия, он мне выцепляет не только delivery 117504: success: did_0+0+1/, но и starting delivery 117504: msg 2522767 to local [email protected], при наличии условия ($bufline!~m/starting/gi). А мне как раз строки типа starting delivery 117504: msg 2522767 to local [email protected] не нужны -------------------- менеджер по кодеврайтингу |
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
или присутствие? Добавлено @ 14:22 знака не заметил, смотрю далее Добавлено @ 14:25 имхо трабла в том что возвращает не логич. переменую а строковую пробуй так
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Bulat |
|
||||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
точно так, может что-то в синтаксисе недопечатал? Это сообщение отредактировал(а) Bulat - 11.9.2006, 14:37 -------------------- менеджер по кодеврайтингу |
||||
|
|||||
| Nab |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 582 Регистрация: 25.3.2006 Где: Kiev Репутация: 26 Всего: 37 |
Bulat, Уважаемый, можно я Вам просто предложу другой метод обработки файлов, я им давно и успешно пользуюсь.
вообще оператор next очень удобен в таких случаях. я им пользуюсь в начале таких циклов для пропуска пустых строк и коментариев.
В вашем случае можно применить еще такую конструкцию, если всеже нужна какая то обработка строки:
-------------------- Чтобы правильно задать вопрос нужно знать больше половины ответа... Perl Community FREESCO in Ukraine |
||||||
|
|||||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: нет Всего: 146 |
это вопрос или утверждение ? -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Ivan Kolesnikov |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 9.3.2005 Где: г. Новокузнецк Репутация: 3 Всего: 6 |
Bulat, помоему сдесь все дело в модефикаторе g в regexp, при этом модификаторе запоминается позиция где закончился поиск, и при следующей проверки начинается с этой позиции.
Вот пример:
Вывод его
Сдесь легко увидеть, что 1-й результат ложный, так как после первого поиска позиция была на конце файла и когда начала искаться буква "a" она не была найдена. Второй поиск работает правильно, так как ищется каждый раз во всей строке. Вообще модификатор g обычно используют в цикле, например
Это сообщение отредактировал(а) Ivan Kolesnikov - 11.9.2006, 15:09 --------------------
|
||||||
|
|||||||
| Bulat |
|
|||
![]() татарский Нео ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 22.3.2006 Где: Альметьевск Репутация: 5 Всего: 57 |
Ivan Kolesnikov, плюсег, однозначно, пришел->прочитал->исправил
Nab, сенкс если не забуду, буду использовать Romikgy, ругается и очень сильно на такой "тройной иф" -------------------- менеджер по кодеврайтингу |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |