#include <iostream>
#include <regex>
using namespace std;
int main() {
regex rx1("(2|25)");
regex rx2("(25|2)");
string s = "2225";
for (sregex_iterator it(s.begin(), s.end(), rx1), end; it != end; ++it) {
cout << it->position() << ": " << it->str() << endl;
}
cout << endl;
for (sregex_iterator it(s.begin(), s.end(), rx2), end; it != end; ++it) {
cout << it->position() << ": " << it->str() << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmVnZXg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXJlZ2V4IHJ4MSgiKDJ8MjUpIik7CglyZWdleCByeDIoIigyNXwyKSIpOwoJc3RyaW5nIHMgPSAiMjIyNSI7CgkKCWZvciAoc3JlZ2V4X2l0ZXJhdG9yIGl0KHMuYmVnaW4oKSwgcy5lbmQoKSwgcngxKSwgZW5kOyBpdCAhPSBlbmQ7ICsraXQpIHsKCSAgICBjb3V0IDw8IGl0LT5wb3NpdGlvbigpIDw8ICI6ICIgPDwgaXQtPnN0cigpIDw8IGVuZGw7Cgl9CgkKCWNvdXQgPDwgZW5kbDsKCQoJZm9yIChzcmVnZXhfaXRlcmF0b3IgaXQocy5iZWdpbigpLCBzLmVuZCgpLCByeDIpLCBlbmQ7IGl0ICE9IGVuZDsgKytpdCkgewoJICAgIGNvdXQgPDwgaXQtPnBvc2l0aW9uKCkgPDwgIjogIiA8PCBpdC0+c3RyKCkgPDwgZW5kbDsKCX0KCQoJcmV0dXJuIDA7Cn0=