| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Регулярные выражения > Формирование регулярного выражения |
| Автор: Jeka from Doneck 30.9.2008, 12:40 |
| Изучаю Perl и для наглядности делаю небольшие задания и столкнулся с проблеммой при построении регулярных выражений: Первое просто поиск при помощи регулярного выражения Сформировать хеш, содержащий пары "Имя/Значение", поступившие методом GET из формы. Вывести на печать в виде строк элементы хеша. Пример строки - file://localhost/C:/Untitled-1.html?Textlayer1=322&textlayer2=asd&But1=Start Второе поиск и замена при помощи регулярного выражения Преобразовать текст следующим образом: перед всеми глаголами в неопределенной форме, т.е. заканчивающихся на -ить, -ать , -ять, еть, вставить отрицание "не". |
| Автор: rcdimon 30.9.2008, 12:50 | ||||
| file://localhost/C:/Untitled-1.html?Textlayer1=322&textlayer2=asd&But1=Start Ну самое элементарное, что приходит в голову по первой задачке
Добавлено через 9 минут и 24 секунды По второй
|
| Автор: Jeka from Doneck 30.9.2008, 13:04 |
| rcdimon Скажи пожалуйста, а в коде который к 1 примеру где указано то, что разделитель значениями & ?? Тоесть там ведь должен получится что то типа ключ[название элемента формы] = значение, потом после & следующие ключ значение. |
| Автор: rcdimon 30.9.2008, 13:07 |
| Да, верно. Там это не учитывается.. Если быть увереным, что на вход программы будет подана строка именно такого формата, то работать будеи и без этого. Он находит такие слова, которые разделены символом =. Левое у него становится ключом в хеше, а правое значением. |
| Автор: ginnie 30.9.2008, 13:09 | ||
Уважаемый Jeka from Doneck,
с какой проблемой Вы столкнулись? Вообще не можете написать? или что-то работает не так? Покажите, что написали и что не работает. rcdimon, а если textlayer2=a%20sd |
| Автор: Jeka from Doneck 30.9.2008, 13:13 | ||
ginnie
вот как я поначалу для 1 задания сделал, но уж сильно много, и я так понял что substr \ split это уже не регулярные выражения. |
| Автор: rcdimon 30.9.2008, 13:19 | ||||
Так я же сказал- Если быть увереным, что на вход программы будет подана строка именно такого формата То есть работает то, что я предложил, только для предложенного примера ) Под ваш случай можно немного изменить
|
| Автор: Jeka from Doneck 30.9.2008, 13:31 |
| rcdimon Большое спасибо за помощь, единсивенное но - у меня то ли зациклен, то ли зависает твой 1 пример, пробовал уже и просто скопировать чтоб слово в слово было. Не подскажешь в чем может быть проблема? |
| Автор: rcdimon 30.9.2008, 13:40 | ||
Да, ошибочка вышла. Надо было поставить параметр g к регулярке. Так все работает
|
| Автор: Jeka from Doneck 30.9.2008, 13:47 |
| rcdimon большое спасибо!!! Теперь более менее понятно по выражениям. |
| Автор: amg 30.9.2008, 14:29 |
| Счастливый человек! |
| Автор: MoXxX 8.11.2008, 05:04 |
| вопрос несколько по сабжу: как в split вбить фильтруемый символ, по которому производится разбиение значения, (в моем случае корень таблицы в БД) через переменную? |
| Автор: MoXxX 8.11.2008, 15:29 |
| спс, помогло и именно то что надо =) |