Простая в использовании поддержка регулярных выражений в C++?

Я ищу надежный, простой в использовании оценщик регулярных выражений для родного C++, либо независимый от платформы, либо специфичный для Windows.

Требования:

  • Нельзя использовать библиотеки Boost или ACE regex (к сожалению).
  • Нельзя использовать .NET Regex (или любой управляемый код)

Главное требование - он должен быть автономным и открытым.

Комментарии к вопросу (5)
Решение

C ++ 11 теперь включает поддержку регулярных выражений. Это будет независимая платформа. Вам просто нужен недавний компилятор. Проверьте следующий список, чтобы знать который использовать.

http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport

Надежда это помогает

Комментарии (0)

try libpcre

Если вы застряли на windows, у них есть порт для windows, который должен работать. Я знаю, что e-texteditor использует его, так что, по крайней мере, это доказательство того, что он работает :-)

Комментарии (0)

Если Вы используете Визуальную Студию, Вы можете использовать Выпуск Пакета Особенности Visual C++ 2008 года, это осуществляет некоторые TR1 и включает парсинг регулярного выражения. [Получите его] [1]

[1]: http://www.microsoft.com/downloads/details.aspx? FamilyId=D466226B-8DAB-445F-A7B4-448B326C48E7& displaylang=en

Комментарии (0)

У QT есть также хорошее Регулярное выражение внедрение QRegExp. Это - также независимая платформа.

Комментарии (0)

Библиотека GNU C поддерживает регулярные выражения. Она открыта, и код RE кажется легко извлекаемым.

Комментарии (0)

Я был бы второй рекомендация для PCRE. Я использовал его в C ++ проекты в Windows, и это работает отлично. It' s свободный, даже для строительства коммерческого программного обеспечения. Это также осуществляет что-то вроде фактического стандартного языка регулярного выражения, который будет нравиться Вашим пользователям. PCRE, конечно, Perl-совместим, и Пайтон также пользуется той же библиотекой.

Родной интерфейс PCRE немного неловкий и очень C-стиль, таким образом, it' s, вероятно, стоящий написания хороший C ++ обертка вокруг этого. Там вероятно, уже тот там, но I' m не знакомый с любым.

Комментарии (0)

Средства регулярных выражений библиотеки GNU C (regcomp(), regexec() и друзья) сломаны. Вместо этого используйте libetre; сигнатуры функций совпадают с сигнатурами, предоставляемыми glibc. http://laurikari.net/tre/

Комментарии (0)

C ++ 11 и вперед теперь содержит стандартная библиотека регулярного выражения.
Включайте '< regex&gt'; удар головой и использование.

Комментарии (0)

Почему don' t Вы используют Microsoft ATL' s regex библиотека? Кенни Керр написал короткая статья на этом недавно.

ATL включает легкое внедрение регулярного выражения. Хотя первоначально часть Visual C++, это теперь включено с Сервером ATL загрузить.

шаблон класса 'CAtlRegExp' осуществляет анализатор и соответствие двигатель...

грамматика регулярного выражения определена наверху 'atlrx.h' заголовочный файл.

Комментарии (0)

Свободная Библиотека Сервера ATL и Инструменты от CodePlex включают regex анализатор. Посмотрите [AtlServer в Архиве CodePlex] [1]

Сервер ATL - библиотека C ++ классы, которые позволяют разработчикам строить и части клиент-сервера сервисного типа C ++ заявления и сеть услуги. Это обеспечивает большую часть функциональности, требуемой построить крупномасштабные сайты, такие как передача сообщений МЫЛА, пряча про запас средства, пронизывая средства, обработку регулярного выражения, управление государством сессии, исполнительным контролем, ИМИТИРУЕТ поддержку, интеграция с IIS и классом для взаимодействия с безопасностью и шифровальная инфраструктура. Более ранние версии библиотеки части Визуальной Студии 2002, Визуальная Студия и Визуальная Студия 2003 года 2005. Проект начался с версии библиотеки, освобожденной как часть Визуальной Студии 2 005 SP1.

[1]: https://archive.codeplex.com/? p=atlserver

Комментарии (0)