đây là mã:Có giới hạn nhóm tối đa trong std :: regex của C++ không?
Đó là tìm khi có 31 nhóm:
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();
}
Tuy nhiên, tôi cố gắng thêm một nhóm nữa (tổng cộng 32 nhóm), 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();
}
ngoại lệ regex_error bị bắt và in
lỗi biểu thức chính quy
tôi sử dụng VisualStudio 2010 trên Windows 7
Dường như có giới hạn tối đa của nhóm. Làm thế nào tôi có thể phá vỡ giới hạn?
Chỉ tò mò: Tại sao bạn muốn nhiều nhóm trong một regex đơn? – Cerbrus
Chia nhỏ chức năng, nhiều phương thức, có thể là nhiều (hiểu) regexps –
Bạn đang viết một trình phân tích cú pháp HTML? –