#include <string>
#include <regex>
#include <iostream>
using namespace std;
int main() {
std::string s{ "AAPL 150918C00099500" };
std::regex pat{ R"(([a-zA-Z0-9]{1,6})\s*(\d{6})([CP]{1})(\d{8}))" };
bool isMatch = std::regex_match( s, pat );
std::sregex_iterator it( s.begin(), s.end(), pat );
for( ; it != std::sregex_iterator{}; ++it )
{
std::cout << ( *it )[1] << "\n" << ( *it )[2]<< "\n" << ( *it )[3] << "\n" << ( *it )[4] << std::endl;
}
return 0;
}
I2luY2x1ZGUgPHN0cmluZz4KI2luY2x1ZGUgPHJlZ2V4PgojaW5jbHVkZSA8aW9zdHJlYW0+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKICAgc3RkOjpzdHJpbmcgc3sgIkFBUEwgIDE1MDkxOEMwMDA5OTUwMCIgfTsKICAgc3RkOjpyZWdleCBwYXR7IFIiKChbYS16QS1aMC05XXsxLDZ9KVxzKihcZHs2fSkoW0NQXXsxfSkoXGR7OH0pKSIgfTsKICAgYm9vbCBpc01hdGNoID0gc3RkOjpyZWdleF9tYXRjaCggcywgcGF0ICk7CiAgIHN0ZDo6c3JlZ2V4X2l0ZXJhdG9yIGl0KCBzLmJlZ2luKCksIHMuZW5kKCksIHBhdCApOwogICBmb3IoIDsgaXQgIT0gc3RkOjpzcmVnZXhfaXRlcmF0b3J7fTsgKytpdCApCiAgIHsKICAgICAgc3RkOjpjb3V0IDw8ICggKml0IClbMV0gPDwgIlxuIiA8PCAoICppdCApWzJdPDwgIlxuIiA8PCAoICppdCApWzNdIDw8ICJcbiIgPDwgKCAqaXQgKVs0XSA8PCBzdGQ6OmVuZGw7CiAgIH0KICAgIHJldHVybiAwOwp9