Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите составить регулярное выражение на выбор блока текста / 3 сообщений из 3, страница 1 из 1
05.07.2014, 14:42
    #38688596
RedDot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить регулярное выражение на выбор блока текста
Товарищи, помогите составить регулярное выражение на выбор блока текста из XML, который не содержит определенный тэг. Уже второй день мучаюсь, эта рагулярка сниться мне уже :(
Нужно регулярное выражение под TextPipe, соответственно на PERL и мне нужно обойтись только регулярным выражением без доп обработки результата.

Имеется xml:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
...
<object>
 ...
 <AAA>
 <ZZZ>
 <BBB>
 ...
</object>
<object>
 ...
 <AAA>
 <BBB>
 ...
</object>
<object>
 ...
 <AAA>
 <BBB>
 ...
</object>
<object>
 ...
 <AAA>
 <ZZZ>
 <BBB>
 ...
</object>


Необходимо выбрать объекты <object>...</object>, внутри которых нет тэга <ZZZ>.

Выражение:
Код: c#
1.
<object[\s\S]*?(?:(?!oldprice/))[\s\S]*?<\/object>


по какой-то причине выбирает все 4 объекта, вне зависимости от наличия в них <ZZZ>.
...
Рейтинг: 0 / 0
06.07.2014, 12:50
    #38688828
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить регулярное выражение на выбор блока текста
Если это XML, то проще наверное его будет распарсить SAX-ом, и получить нужные элементы.
...
Рейтинг: 0 / 0
06.07.2014, 13:40
    #38688840
RedDot
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите составить регулярное выражение на выбор блока текста
MasterZiv,
интересная мысль. Но не хотелось бы писать собственный парсер.
В итоге мне нужно удалить из xml блоки, которые не содержат <ZZZ> и затем этот xml будет передан стороннему загрузчику.
Т.е. если заморочиться с SAX-ом, то придется писать не только парсер, но и редактор.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите составить регулярное выражение на выбор блока текста / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]