![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| HeR0vn1k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 19.10.2007 Где: Tyumen Репутация: нет Всего: нет |
Здравствуйте.
Не получается составить регулярное выражение с поиском шаблона вида XML структуры. Данные имеют вид:
Элемент <PARAMS> всегда следует после <REPORT> и никогда не повторяется. Внутри него может быть один или несколько элементов <PARAM параметр1="значение1" параметр2="значение2 параметрn="значениеn""/>. Надо найти и удалить все строки заключенные в <PARAMS> элементы </PARAMS> включая сам элемент PARAMS. Написал с помощью оператора подстановки s///. Получилось найти строку такого простого вида: <PARAMS> текст </PARAMS>, но если встречаются знаки ", <, >,=, то оператор не срабатывает. Как можно написать регулярное выражение, чтоб поиск производился на совпадения такой структуры? За ранее спасибо! |
|||
|
||||
| BlackLFL |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 263 Регистрация: 15.9.2005 Где: Москва Репутация: 8 Всего: 12 |
||||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
В простейшем случае можно обойтись $xml =~s|<PARAMS>.*</PARAMS>\||s;. Но правильность работы не будет гарантирована. Лучше воспользоваться советом BlackLFL.
|
|||
|
||||
| HeR0vn1k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 19.10.2007 Где: Tyumen Репутация: нет Всего: нет |
BlackLFL, спасибо. Буду смотреть пакет.
amg, вставил твой код. Работает нормально. Как раз и надо было удалять эту часть. В чем может быть не правильность работы? Получается, если более детально и выборочно работать с элементами внутри <PARAMS>, то не подойдет. Это имел ввиду, amg? Это сообщение отредактировал(а) HeR0vn1k - 6.11.2007, 15:20 |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
||||
|
||||
| HeR0vn1k |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 19.10.2007 Где: Tyumen Репутация: нет Всего: нет |
Данные идут с моей формы, откуда поступают <PARAMS> ... </PARAMS>, точно в таком виде в каком надо и не будет левых вставок. Так что, !пока "не правильности" не должно быть. Если будут изменения, то придется исправлять. А так, сойдет простой вариант. -Спасибо amg.
Это сообщение отредактировал(а) HeR0vn1k - 7.11.2007, 07:45 |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |