Разница между std::regexmatch и std::regexsearch в C++ заключается в том, что std::regexmatch проверяет, соответствует ли весь искомый текст шаблону регулярного выражения, в то время как std::regexsearch проверяет, содержит ли искомый текст подчасть, соответствующую шаблону регулярного выражения. 1
Другими словами, std::regexmatch используется для проверки, соответствует ли строка определённому шаблону (дата, адрес электронной почты и т. д.), а std::regexsearch — для поиска подстроки внутри строки. 14
Таким образом, std::regexmatch возвращает true, только когда совпадает вся входная последовательность, в то время как std::regexsearch будет успешным, даже если только подпоследовательность соответствует регулярному выражению. 2