7
這是我的嘗試:boost :: regex_search可以在wstring上完成嗎?
std::wstring extractText(std::wstring line) {
std::wstring text;
boost::regex exp("^.*?PRIVMSG #.*? :(.+)");
boost::smatch match;
if (boost::regex_search(line, match, exp)) {
text = std::wstring(match[1].first, match[1].second);
}
return text;
}
當你嘗試它時發生了什麼? – aschepler 2010-12-06 22:16:58
錯誤C2784:'bool boost :: regex_search(const std :: basic_string&,const boost :: basic_regex &,boost :: regex_constants :: match_flag_type)':無法推導'const boost模板參數:: basic_regex &'from'boost :: smatch' –
coolface
2010-12-06 22:22:23
我相信當你使用`std :: wstring`時,你必須使用boost.regex的'w'形式,如`boost :: wregex`和`boost :: wsmatch`。另外,如果您在進行Unicode匹配,請查看以下鏈接:http://www.boost.org/doc/libs/1_45_0/libs/regex/doc/html/boost_regex/unicode.html – birryree 2010-12-06 22:24:56