Использование regex lookbehinds в C ++ 11

Почему я не могу использовать lookbehinds в C ++ 11? Lookahead отлично работает.

std::regex e("(?<=a)b"); 

Это приведет к следующему исключению:

 The expression contained mismatched ( and ). 

Это не вызовет никаких исключений:

 std::regex e("a(?=b)"); 

Что мне не хватает?

C ++ 11 использует синтаксис ECMAScript (ECMA-262), поэтому он не будет иметь внешний вид (другие варианты регулярных выражений, поддерживаемые C ++ 11, также не имеют внешнего вида).

Если ваш вариант использования требует использования look-behind, вы можете вместо этого использовать Boost.Regex .

  • Что эквивалентно Regex-replace-with-function-оценке в Java 7?
  • Регулярное выражение для пароля должно содержать не менее восьми символов, как минимум одно число и буквы нижнего и верхнего регистра и специальные символы
  • Регулярное выражение для поиска и замены в Microsoft Word
  • Заменить последнюю часть строки
  • Регулярное выражение, которое никогда не будет соответствовать чему-либо
  • Поиск цитируемых строк с экранированными кавычками в C # с использованием регулярного выражения
  • Как рассчитать количество появления заданного символа в каждой строке столбца строк?
  • Проверка подлинности электронной почты с использованием регулярного выражения в JSF 2 / PrimeFaces
  • Удалить конечный ноль в Java
  • Использование регулярных выражений для проверки числового диапазона
  • Заменить первое вхождение шаблона в строку
  • Давайте будем гением компьютера.