AntZ2007
Ноя. 26, 2009 10:59:56
Доброго времени суток!
У меня вопрос к людям разбирающимся в регулярках.
Задача следующая: имеется строка следующего содержания 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”;}}} и т.д. Необходимо распарсить эту строку т.е. выделить все типы сервисов, какие именно сервисы предоставляются. Как я понимаю задача сводится к построению многоуровневого регулярного выражения. Может у кого-нибудь есть примеры работы с вложенными блоками (скобками) или знаете где можно примерчики посмотреть?
Ferroman
Ноя. 26, 2009 11:04:59
Если вложенности не статические, самими регулярками это не сделаешь. Надо рекурсию писать.
AntZ2007
Ноя. 26, 2009 11:12:47
Ferroman
Если вложенности не статические, самими регулярками это не сделаешь. Надо рекурсию писать.
Нет, не статические. Просто читал что в NET вложенность в регулярках реализована, думал и в питоне есть что-то подобное
dimabest
Ноя. 26, 2009 18:57:49
Cтрока чудовищно похожа на работу функции serialize() из PHP :)
Наверно то, что тебе нужно
http://hurring.com/scott/code/python/serialize/
lightcaster
Ноя. 27, 2009 13:59:45
Используйте грамматику. Пакеты PLY или pyparsing.
AntZ2007
Ноя. 28, 2009 21:02:16
dimabest
Cтрока чудовищно похожа на работу функции serialize() из PHP :)
Наверно то, что тебе нужно http://hurring.com/scott/code/python/serialize/
Так оно и есть :) спасибо за ссылку
Jenyay
Ноя. 30, 2009 21:10:42
Вообще считается, что для рекуррентных выражений регулярные выражения не подходят, хотя иногда распарсить выражения можно, но это только запутывает.