#include<regex> //头文件 string x; string result; cin >> x; regex re("[A-Z0-9]"); auto begin = sregex_iterator(x.begin(), x.end(), re); auto end = sregex_iterator(); for (sregex_iterator i = begin; i != end; i++) { result.append((*i).str()); }
这里sregex_iterator( ) 函数默认返回的是正则匹配符合条件的队尾的迭代器
因此我们在创建头部迭代器begin的时候要给参数,三个参数分别表示字符串首、字符串尾、需要匹配的正则表达式。
最后用一个for循环将匹配的字符追加到result字符串中
另外<cctype>库中的 isdigit( )函数可以判断字符是否是数字