Для более сложных классов вы можете рассмотреть инструмент jsonpickle :
jsonpickle - это библиотека Python для сериализации и десериализации сложных объектов Python в JSON и из JSON.
Стандартные библиотеки Python для кодирования Python в JSON, такие как json, simplejson и demjson stdlib, могут обрабатывать только примитивы Python, которые имеют прямой эквивалент JSON (например, dicts, lists, string, ints и т. д.). ). jsonpickle строит поверх этих библиотек и позволяет сериализовать более сложные структуры данных в JSON. jsonpickle очень настраивается и расширяется, позволяя пользователю выбирать бэкэнд JSON и добавлять дополнительные бэкэнды.
blockquote>
попробуйте libpcre
, Если Вы застреваете на окнах, у них есть порт окон, который должен работать. Я знаю электронный текстовый редактор использование это, так по крайней мере, это - доказательство, это работает:-)
При использовании Visual Studio, можно использовать Выпуск Пакета функций Visual C++ 2008 года, это реализует некоторые TR1 и включает парсинг регулярного выражения. Получают его
Qt имеет также хорошее Регулярное выражение реализация QRegExp. Это также независимо от платформы.
GNU C поддержки Библиотеки регулярные выражения . Это открыто, и код РЕ, кажется, является легко извлекаемым.
Средство регулярных выражений библиотеки GNU C (regcomp (), regexec () и друзья) повреждается. Используйте libetre вместо этого; функциональные подписи соответствуют тем предоставленным glibc. http://laurikari.net/tre/
Почему Вы не пользуетесь regex библиотекой ATL Microsoft? Kenny Kerr написал короткая статья на этом недавно.
ATL включает легкую реализацию регулярного выражения. Хотя первоначально часть Visual C++, это теперь включено с загрузкой Сервера ATL.
CAtlRegExp
шаблон класса реализует синтаксический анализатор и соответствие механизму....грамматика регулярного выражения определяется наверху
atlrx.h
заголовочный файл.
Свободная Библиотека Сервера ATL и Инструменты от CodePlex включают regex синтаксический анализатор. См. AtlServer в Архиве CodePlex
, Сервер ATL является библиотекой классов C++, которые позволяют разработчикам создавать и части клиента и сервера приложений C++ сервисного типа и веб-сервисы. Это обеспечивает большую часть функциональности, требуемой создавать крупномасштабные сайты, такие как обмен сообщениями SOAP, кэшируя средства, распараллеливая средства, обработку регулярного выражения, управление состоянием сеанса, контролем производительности, поддержкой MIME, интеграцией с IIS и классом для взаимодействия с безопасностью и криптографической инфраструктурой. Более ранние версии библиотеки являются частями Visual Studio 2002, Visual Studio 2003 и Visual Studio 2005. Проект начал с версии библиотеки, выпущенной как часть Visual Studio 2005 SP1.
Я был бы второй рекомендация для PCRE. Я использовал его в проектах C++ в Windows, и это работает отлично. Это свободно, даже для создания коммерческого программного обеспечения. Это также реализует что-то вроде фактического стандартного языка регулярных выражений, который будет нравиться Вашим пользователям. PCRE, конечно, совместим с Perl, и Python также пользуется той же библиотекой.
собственный интерфейс PCRE является немного неловким и очень C-стиль, таким образом, вероятно, стоит записать хорошую обертку C++ вокруг этого. Там вероятно, уже тот там, но я не знаком ни с кем.