文字列リソース="/Music/1"があります。文字列は"/Music/"の後に複数の数値をとることができます。私は正規表現のものに不慣れです。次のコードを試してみました
#include <iostream>
#include<boost/regex.hpp>
int main()
{
std::string resource = "/Music/123";
const char * pattern = "\\d+";
boost::regex re(pattern);
boost::sregex_iterator it(resource.begin(), resource.end(), re);
boost::sregex_iterator end;
for( ; it != end; ++it)
{
std::cout<< it->str() <<"\n";
}
return 0;
}
vickey@tb:~/trash/boost$ g++ idExtraction.cpp -lboost_regex
vickey@tb:~/trash/boost$ ./a.out
123
正常に動作します 。ただし、文字列が「/ Music23 / 123」のようなものであっても、123の前に23の値が表示されます。パターン「/ \ d +」を使用すると、文字列が/ 23 / Music/123の場合に結果イベントが発生します。 。私がやりたいのは、「/Music/」の後の数字だけを抽出することです。