Если тип<wchar_t>вашей платформы может содержать строки Unicode, а время выполнения вашей платформы C/C++ правильно обрабатывает широкие константы символов (при переходе на<std::iswspace><std::iswlower>и т. д.), то вы можете использовать<boost::wregex>для обработки Unicode. Однако есть несколько недостатков этого подхода:
Это не портативно: нет никакой гарантии на ширину<wchar_t>, или даже то, относится ли время выполнения к широким символам как Unicode вообще, большинство компиляторов Windows делают это, но многие системы Unix этого не делают.
Нет поддержки для классов символов Unicode:<[[:Nd:]]>,<[[:Po:]]>и т.д.
Вы можете искать только строки, которые закодированы как последовательности широких символов, на многих платформах невозможно искать UTF-8 или даже UTF-16.
Статья Unicode and Boost.Regex раздела Boost.Regex 5.1.2 Boost.Regex 5.1.2 может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.