How to count uppercase, lowercase, special characters, and numeric values using RegEx in C++

1 Answer

0 votes
#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

*/

 



answered Feb 20 by avibootz

Related questions

...