我有一个字符串 resource = "/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/" 之后的唯一数字。