读入一行字符串,正则遍历找出符合要求的子串,压入栈,输出(出栈)直到栈空。
#include <iostream>
#include <string>
#include <regex>
#include <stack>
using namespace std;
int main ()
{
string str;
stack<string> tmp;
getline(cin,str);
regex regstring("[A-Za-z]+");
for(sregex_iterator it(str.begin(),str.end(),regstring),it_end; it!=it_end; ++it)
{
tmp.push(it -> str()); //将符合要求的字符串压入栈
}
while(!tmp.empty())
{
cout<<tmp.top()<<' '; //栈反向输出
tmp.pop(); //pop-1
}
return 0;
}

京公网安备 11010502036488号