Полное совпадение в регулярках в C++
Функция std::regex_match сопоставляет шаблон
со всей строкой целиком. Если лишние символы
в начале или конце не входят в шаблон,
результат будет false. В объект
std::smatch при успехе попадает
найденный текст:
std::string txt = "123 456 789";
std::smatch partial;
std::regex_match(txt, partial, std::regex(R"(\d+)"));
std::smatch whole;
bool ok = std::regex_match(txt, whole, std::regex(R"(\d+ \d+ \d+)"));
std::cout << partial.matched << "\n";
std::cout << whole.str() << "\n";
Дана строка:
std::string txt = "abc";
Проверьте, состоит ли строка только из строчных букв, и выведите результат в консоль.