Найти - Пользователи
Полная версия: Вложеность в регулярных выражениях
Начало » Python для экспертов » Вложеность в регулярных выражениях
1
AntZ2007
Доброго времени суток!
У меня вопрос к людям разбирающимся в регулярках.
Задача следующая: имеется строка следующего содержания 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
Если вложенности не статические, самими регулярками это не сделаешь. Надо рекурсию писать.
AntZ2007
Ferroman
Если вложенности не статические, самими регулярками это не сделаешь. Надо рекурсию писать.
Нет, не статические. Просто читал что в NET вложенность в регулярках реализована, думал и в питоне есть что-то подобное
dimabest
Cтрока чудовищно похожа на работу функции serialize() из PHP :)

Наверно то, что тебе нужно http://hurring.com/scott/code/python/serialize/
lightcaster
Используйте грамматику. Пакеты PLY или pyparsing.
AntZ2007
dimabest
Cтрока чудовищно похожа на работу функции serialize() из PHP :)

Наверно то, что тебе нужно http://hurring.com/scott/code/python/serialize/
Так оно и есть :) спасибо за ссылку
Jenyay
Вообще считается, что для рекуррентных выражений регулярные выражения не подходят, хотя иногда распарсить выражения можно, но это только запутывает.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB