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

Он там максимальный лимит групп в std:: regex из С++?

вот код:

Он найдет, когда имеется 31 группа:

try
{
    regex re("(0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)", tr1::regex::icase);
}
catch (regex_error e)
{
    std::cout << e.what();
}

Однако я пытаюсь добавить еще одну группу (всего 32 группы), oops:

try
{
    regex re("(0)(1)(2)(3)(4)(5)(6)(7)(8)(9)(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)(p)(q)(r)(s)(t)(u)(v)", tr1::regex::icase);
}
catch (regex_error e)
{
    std::cout << e.what();
}

исключение regex_error поймано и печать

ошибка регулярного выражения

Я использую VisualStudio 2010 в Windows 7

Кажется, существует максимальный предел групп. Как я могу нарушить предел?

4b9b3361

Ответ 1

Я не уверен в версии Windows, но версия gcc имеет частичную поддержку

http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.2011

В разделе 28 вашего взгляда. Другие языки, похоже, способны сопоставлять больше групп.

возможно, попробуйте другой двигатель?

http://en.wikipedia.org/wiki/Comparison_of_regular_expression_engines