Почему-то мне не удалось выяснить, как поместить в строку только первое вхождение или регулярное выражение. Я могу создать объект регулярного выражения:
static const boost::regex e("<(From )?([A-Za-z0-9_]+)>(.*?)");
Теперь мне нужно сопоставить ([A-Za-z0-9_]+)
с std::string
, скажем, playername
.
std::string chat_input("<Darker> Hello");
std::string playername = e.some_match_method(chat_input, 1); //Get contents of the second (...)
Что я упустил?
Что должно быть вместо some_match_method
и какие параметры у него должны быть?
(?<=<(From )?)([A-Za-z0-9_]+)(?=>(.*?))
, вам не нужно об этом заботиться. - person eandersson   schedule 22.03.2013