id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 4496,xpressive::as(_) does not work with wchar_t,anonymous,Eric Niebler," {{{ using namespace boost::xpressive; std::wstring version(L""0.9.500""); int maj1(0), min1(0), build1(0); wsregex re1 = (+_d)[ref(maj1) = as(_)] >> L""."" >> (+_d)[ref(min1) = as(_)] >> L""."" >> (+_d)[ref(build1) = as(_)]; bool v1 = regex_match(version, re1); std::wcout << maj1 << std::endl; // 48 must be 0 std::wcout << min1 << std::endl; // 57 must be 9 std::wcout << build1 << std::endl; // 534848 must be 500 }}} The cause is {{{ template struct as { typedef T result_type; template T operator()(Value const &val) const { return lexical_cast(val); } }; }}} val is sub_match type (this case) lexical_cast uses stream_char to define the widest char while there is no spec for stream_char so lexical_cast uses char as char_type",Bugs,closed,Boost 1.44.0,xpressive,Boost 1.44.0,Problem,fixed,xpressive regex_actions,