Подтвердить что ты не робот

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

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

Требования:

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

попробуйте libpcre

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

Ответ 3

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

Ответ 5

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

Ответ 6

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

Ответ 7

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

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

Ответ 9

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

Ответ 10

Бесплатная библиотека ATL-сервера из Codeplex включает в себя парсер регулярных выражений.

ATL-сервер