Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 26, 2009 10:59:56

AntZ2007
От:
Зарегистрирован: 2009-04-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеность в регулярных выражениях

Доброго времени суток!
У меня вопрос к людям разбирающимся в регулярках.
Задача следующая: имеется строка следующего содержания a:18:{s:8:“services”;a:2:{s:14:“service_domain”;a:1:{s:15:“1.ru”;a:1:{i:1;s:1:“1”;}}s:15:“service_hosting”;a:1: {s:3:“vip”;a:1:{i:1;s:2:“12”;}}} и т.д. Необходимо распарсить эту строку т.е. выделить все типы сервисов, какие именно сервисы предоставляются. Как я понимаю задача сводится к построению многоуровневого регулярного выражения. Может у кого-нибудь есть примеры работы с вложенными блоками (скобками) или знаете где можно примерчики посмотреть?



Офлайн

#2 Ноя. 26, 2009 11:04:59

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Вложеность в регулярных выражениях

Если вложенности не статические, самими регулярками это не сделаешь. Надо рекурсию писать.

Офлайн

#3 Ноя. 26, 2009 11:12:47

AntZ2007
От:
Зарегистрирован: 2009-04-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеность в регулярных выражениях

Ferroman
Если вложенности не статические, самими регулярками это не сделаешь. Надо рекурсию писать.
Нет, не статические. Просто читал что в NET вложенность в регулярках реализована, думал и в питоне есть что-то подобное



Офлайн

#4 Ноя. 26, 2009 18:57:49

dimabest
От:
Зарегистрирован: 2009-02-12
Сообщения: 253
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеность в регулярных выражениях

Cтрока чудовищно похожа на работу функции serialize() из PHP :)

Наверно то, что тебе нужно http://hurring.com/scott/code/python/serialize/



Офлайн

#5 Ноя. 27, 2009 13:59:45

lightcaster
От:
Зарегистрирован: 2008-07-01
Сообщения: 31
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеность в регулярных выражениях

Используйте грамматику. Пакеты PLY или pyparsing.



Офлайн

#6 Ноя. 28, 2009 21:02:16

AntZ2007
От:
Зарегистрирован: 2009-04-30
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Вложеность в регулярных выражениях

dimabest
Cтрока чудовищно похожа на работу функции serialize() из PHP :)

Наверно то, что тебе нужно http://hurring.com/scott/code/python/serialize/
Так оно и есть :) спасибо за ссылку



Отредактировано (Ноя. 29, 2009 17:27:55)

Офлайн

#7 Ноя. 30, 2009 21:10:42

Jenyay
От:
Зарегистрирован: 2007-08-10
Сообщения: 173
Репутация: +  1  -
Профиль   Отправить e-mail  

Вложеность в регулярных выражениях

Вообще считается, что для рекуррентных выражений регулярные выражения не подходят, хотя иногда распарсить выражения можно, но это только запутывает.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version