(C++) std::regex_match

January 17, 2018 ยท View on GitHub

std::regex_match is an STL function for testing if a std::string matches a std::regex.

Example

#include <cassert>
#include <regex>
#include <string>

int main()
{
  assert(!std::regex_match("", std::regex("[[:digit:]]"))); //One
  assert( std::regex_match("", std::regex("[[:digit:]]?"))); //Zero or one
  assert(!std::regex_match("", std::regex("[[:digit:]]+"))); //One or more
  assert( std::regex_match("", std::regex("[[:digit:]]*"))); //Zero or more
  assert( std::regex_match("", std::regex("[[:digit:]]{0}"))); //Zero

  assert(std::regex_match("1", std::regex("[[:digit:]]" ))); //One
  assert(std::regex_match("1", std::regex("[[:digit:]]?"))); //Zero or one
  assert(std::regex_match("1", std::regex("[[:digit:]]+"))); //One or more
  assert(std::regex_match("1", std::regex("[[:digit:]]*"))); //Zero or more
  assert(std::regex_match("1", std::regex("[[:digit:]]{1}"))); //One

  assert(!std::regex_match("12", std::regex("[[:digit:]]"))) ; //One
  assert(!std::regex_match("12", std::regex("[[:digit:]]?"))); //Zero or one
  assert( std::regex_match("12", std::regex("[[:digit:]]+"))); //One or more
  assert( std::regex_match("12", std::regex("[[:digit:]]*"))); //Zero or more
  assert( std::regex_match("12", std::regex("[[:digit:]]{2}"))); //Two

}