Я ищу надежный, простой в использовании оценщик регулярных выражений для родного C++, либо независимый от платформы, либо специфичный для Windows.
Требования:
Главное требование - он должен быть автономным и открытым.
C ++ 11 теперь включает поддержку регулярных выражений. Это будет независимая платформа. Вам просто нужен недавний компилятор. Проверьте следующий список, чтобы знать который использовать.
http://wiki.apache.org/stdcxx/C%2B%2B0xCompilerSupport
Надежда это помогает
try libpcre
Если вы застряли на windows, у них есть порт для windows, который должен работать. Я знаю, что e-texteditor использует его, так что, по крайней мере, это доказательство того, что он работает :-)
Если Вы используете Визуальную Студию, Вы можете использовать Выпуск Пакета Особенности Visual C++ 2008 года, это осуществляет некоторые TR1 и включает парсинг регулярного выражения. [Получите его] [1]
[1]: http://www.microsoft.com/downloads/details.aspx? FamilyId=D466226B-8DAB-445F-A7B4-448B326C48E7& displaylang=en
Библиотека GNU C поддерживает регулярные выражения. Она открыта, и код RE кажется легко извлекаемым.
Я был бы второй рекомендация для PCRE. Я использовал его в C ++ проекты в Windows, и это работает отлично. It' s свободный, даже для строительства коммерческого программного обеспечения. Это также осуществляет что-то вроде фактического стандартного языка регулярного выражения, который будет нравиться Вашим пользователям. PCRE, конечно, Perl-совместим, и Пайтон также пользуется той же библиотекой.
Родной интерфейс PCRE немного неловкий и очень C-стиль, таким образом, it' s, вероятно, стоящий написания хороший C ++ обертка вокруг этого. Там вероятно, уже тот там, но I' m не знакомый с любым.
Средства регулярных выражений библиотеки GNU C (regcomp(), regexec() и друзья) сломаны. Вместо этого используйте libetre; сигнатуры функций совпадают с сигнатурами, предоставляемыми glibc. http://laurikari.net/tre/
C ++ 11 и вперед теперь содержит стандартная библиотека регулярного выражения.
Включайте '< regex>'; удар головой и использование.
Почему don' t Вы используют Microsoft ATL' s regex библиотека? Кенни Керр написал короткая статья на этом недавно.
ATL включает легкое внедрение регулярного выражения. Хотя первоначально часть Visual C++, это теперь включено с Сервером ATL загрузить.
шаблон класса 'CAtlRegExp' осуществляет анализатор и соответствие двигатель...
грамматика регулярного выражения определена наверху 'atlrx.h' заголовочный файл.
Свободная Библиотека Сервера ATL и Инструменты от CodePlex включают regex анализатор. Посмотрите [AtlServer в Архиве CodePlex] [1]
Сервер ATL - библиотека C ++ классы, которые позволяют разработчикам строить и части клиент-сервера сервисного типа C ++ заявления и сеть услуги. Это обеспечивает большую часть функциональности, требуемой построить крупномасштабные сайты, такие как передача сообщений МЫЛА, пряча про запас средства, пронизывая средства, обработку регулярного выражения, управление государством сессии, исполнительным контролем, ИМИТИРУЕТ поддержку, интеграция с IIS и классом для взаимодействия с безопасностью и шифровальная инфраструктура. Более ранние версии библиотеки части Визуальной Студии 2002, Визуальная Студия и Визуальная Студия 2003 года 2005. Проект начался с версии библиотеки, освобожденной как часть Визуальной Студии 2 005 SP1.
[1]: https://archive.codeplex.com/? p=atlserver