и еще вопрос, нельзя как-то сказать regex-у, при std::regex_match, что он работает с кодировкой UTF-8, а не с ASCII
Зависит от компилятора и окружения
В идеале так делать не надо, потому что есть тот же ICU, который заюзан везде где есть юникод. У него свой механизм регулярок реализован