Опции для использования С++ 11 <regex> с составителем около 2013 года

Существует ли полная/правильная реализация (прямо сейчас) для регулярного выражения С++ 11?

Примечание по поддержке компилятора и поддержки библиотеки:

Поддержка компилятора= компилятор распознает любой новый синтаксис, добавленный к языку для рассматриваемой функции. Код, использующий новую функцию, добавленную в вашу программу, будет скомпилирован.

Поддержка библиотеки= обновлена ​​библиотека, чтобы реально реализовать эту функцию. Код, добавленный в вашу программу и связанный с библиотекой, будет работать.

* Изменить: я обновил это резюме с новой информацией и перевел его в ответ ниже.

Ответ 1

В отношении политики обмена стеками об этом можно ответить на свой вопрос. Я обновляю сводную часть вопроса с новой информацией и переместить его в этот ответ.

GCC: Не работает рабочий regex, пока GCC 4.9.0

Clang: Компиляция regex

Стандартная библиотека:

  • regex поддерживается только libstdС++, поскольку GCC 4.9.0 (стандартная библиотека GNU)
  • regex поддерживается libС++ (стандартная библиотека LLVM)
  • libС++ полностью подтвержден на Mac OS
  • libС++ может быть создан из источника для других платформ.
  • (Я создал и проверил некоторое регулярное выражение на Linux)

MSVC: Regex работает с MSVC 2010 (за ответ от @Laurent и связанных голосов)

подталкивания: Регулярное выражение С++ 11 "основано на" или "смоделировано после" Boost. Я полагаю, это означает не совсем то же самое. Если есть окончательный список различий, прокомментируйте ссылку.

Ответ 2

Я использовал модуль <regex> с MSVC 2010, и он отлично работал для моей потребности (используя документ из cplusplus.com).

Итак, если вы собираетесь разрабатывать в среде Windows, я бы рекомендовал выбрать MSVC 2010 или 2012. Он работает из коробки!

Ответ 3

Clang - это функция С++ 11. Вы можете проверить, какая функция доступна в этой версии: Возможности Clang С++ 11