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

голоса
23

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

Требования:

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

Основное требование заключается в том, что он должен быть автономным и открытым.

Задан 04/08/2008 в 06:50
источник пользователем
На других языках...                            


10 ответов

голоса
9

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

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

Надеюсь, поможет

Ответил 19/06/2013 d 19:47
источник пользователем

голоса
9

попробуйте libpcre

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

Ответил 04/08/2008 d 07:23
источник пользователем

голоса
8

Qt также имеет хороший регулярное выражение реализации QRegExp . Это также зависит от платформы.

Ответил 10/08/2008 d 14:07
источник пользователем

голоса
8

Если вы используете Visual Studio , вы можете использовать Visual C ++ 2008 Feature Pack Release, это реализует некоторые из TR1, и включает в себя регулярное выражение разбора. Возьми

Ответил 04/08/2008 d 20:44
источник пользователем

голоса
4

Я бы вторая рекомендация для PCRE . Я использовал его в проектах C ++ в Windows , и он прекрасно работает. Это бесплатно, даже для создания коммерческого программного обеспечения. Он также реализует что - то де - факто стандартного языка регулярных выражений, который будет приветствовать ваши пользователь. PCRE, конечно , Perl-совместимый, и Python использует ту же самую библиотеку.

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

Ответил 11/08/2008 d 09:25
источник пользователем

голоса
4

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

Ответил 04/08/2008 d 13:23
источник пользователем

голоса
4

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

Ответил 04/08/2008 d 07:41
источник пользователем

голоса
3

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

Ответил 08/05/2016 d 14:36
источник пользователем

голоса
2

Почему бы вам не использовать библиотеку регулярных выражений Microsoft ATL в? Кенни Керр написал небольшую статью о том , что в последнее время .

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

CAtlRegExpШаблонный класс реализует синтаксический анализатор и соответствующий двигатель. ...

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

Ответил 11/08/2008 d 07:13
источник пользователем

голоса
1

Бесплатно библиотечный сервер ATL и инструменты из CodePlex включает в себя регулярное выражение парсер. См AtlServer в CodePlex Архив

ATL-сервер является библиотека классов C ++, которые позволяют разработчикам создавать клиентские и серверные части ++ приложений сервис-типа C и веб-сервисов. Это обеспечивает большую часть функциональности, необходимую для построения крупномасштабных интернетов-сайтов, таких как SOAP-сообщения, кэширование объекты, пронизывающих объекты, регулярная обработка выражения, управление сеансового состояния, мониторинг производительности, поддержка MIME, интеграции с IIS и класс для взаимодействия с безопасностью и криптографическая инфраструктура. Более ранние версии библиотеки являются частью Visual Studio 2002, Visual Studio 2003 и Visual Studio 2005. Проект начался с версии библиотеки выпущен как часть Visual Studio 2005 SP1.

Ответил 16/09/2008 d 21:06
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more