Он там максимальный лимит групп в 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
Кажется, существует максимальный предел групп. Как я могу нарушить предел?
Ответы
Ответ 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