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

StackOverflow https://stackoverflow.com/questions/1041

  •  08-06-2019
  •  | 
  •  

Вопрос

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

Требования:

  • Не могу использовать библиотеки регулярных выражений Boost или ACE (к сожалению)
  • Не могу использовать .СЕТЕВОЕ регулярное выражение (или любой управляемый код)

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

Это было полезно?

Решение

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

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

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

Другие советы

попробуй libpcre

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

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

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

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

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

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

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

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

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

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

Тот Самый CAtlRegExp шаблон класса реализует синтаксический анализатор и механизм сопоставления ....

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top