How to check if a string contains only 0 and 1 using RegEx in C++

1 Answer

0 votes
#include <iostream>
#include <regex>
#include <string>

// ^ — start of string
// [01] — allowed characters
// + — one or more occurrences
// $ — end of string

bool isBinary(const std::string& s) {
    static const std::regex binary_regex("^[01]+$");
    
    return std::regex_match(s, binary_regex);
}

int main() {
    std::string s = "1010011";

    isBinary(s) ? std::cout << "Valid string\n" : std::cout << "Invalid string\n";
    isBinary("0000") ? std::cout << "Valid string\n" : std::cout << "Invalid string\n";
    isBinary("1111") ? std::cout << "Valid string\n" : std::cout << "Invalid string\n";
    isBinary("1021") ? std::cout << "Valid string\n" : std::cout << "Invalid string\n";
}


/*
run:

Valid string
Valid string
Valid string
Invalid string

*/

 



answered Feb 28 by avibootz
...