Учитывая, что этот код работает:станд :: regex_error исключение сгенерировано во время выполнения
regex r1{ "fish"s };
smatch m1;
if (regex_search("I love fish and chips"s, m1, r1))
cout << m1[0] << endl;
Я считаю, что VS2015 поддерживает регулярные выражения. Однако инициализация этого объекта регулярного выражения:
regex r{ R"(\d{2,3}(-\d\d) { 2 })" };
исключает исключение std::regex_error
. Что случилось с инициализацией?
Try, чтобы заменить '{2}' (плюс пространство, оставленное от '{') с '{2}' или '' -' с \ - '. – Xufox
@Xufox ничего себе, чувак, ты абсолютно прав! Эта часть регулярного выражения (- \ d \ d) {2} должна быть записана как (- \ d \ d) {2} –
@Xufox спасибо :) Я потратил час на эту крошечную крошечную ошибку. –