#include <iostream>
#include <string>
#include <regex>
int countMatches(const std::string& text, const std::string& pattern) {
std::regex re(pattern);
auto begin = std::sregex_iterator(text.begin(), text.end(), re);
auto end = std::sregex_iterator();
return std::distance(begin, end);
}
int main() {
std::string s = "Programming&AI@2026!";
int uppercase = countMatches(s, "[A-Z]");
int lowercase = countMatches(s, "[a-z]");
int digits = countMatches(s, "\\d");
int special = countMatches(s, "[^A-Za-z0-9]");
std::cout << "Uppercase: " << uppercase << "\n";
std::cout << "Lowercase: " << lowercase << "\n";
std::cout << "Digits: " << digits << "\n";
std::cout << "Special characters: " << special << "\n";
return 0;
}
/*
run:
Uppercase: 3
Lowercase: 10
Digits: 4
Special characters: 3
*/