让我说我有一个字符串S = "1 this is a number=200; Val+54 4class find57"
我想使用Regex
仅提取这些数字:
num[1] = 1
num[2] = 200
num[3] = 54
而不是“4class”中的4或“find57”中的57,这意味着只有被Operators
或space
包围的数字。
我尝试了这段代码但没有结果:
std::string str = "1 this is a number=200; Val+54 4class find57";
boost::regex re("(\\s|\\-|\\*|\\+|\\/|\\=|\\;|\n|$)([0-9]+)(\\s|\\-|\\*|\\+|\\/|\\;|\n|$)");
boost::sregex_iterator m1(str.begin(), str.end(), re);
boost::sregex_iterator m2;
for (; m1 != m2; ++m1) {
advm1->Lines->Append((*m1)[1].str().c_str());
}
顺便说一下我使用c++ Builder XE6.
答案 0 :(得分:2)