There is a simple C++ method to use pattern matching on strings? The code should sound like this:
if (regexpcmp("l?nole*[0-9]", "linoleum1")) {
//we have a match!
} else {
//no match
}
There is a simple C++ method to use pattern matching on strings? The code should sound like this:
if (regexpcmp("l?nole*[0-9]", "linoleum1")) {
//we have a match!
} else {
//no match
}
Did you already look at Boost.Regex?
const boost::regex e("l?nole*[0-9]");
if (regex_match("linoleum1", e)) {
//we have a match!
} else {
//no match
}
Not in the core language. Use Boost.Regex or an external library like pcre
. In a unix environment you almost certainly have access to the BSD regular expression tools (regcomp
, regerror
, regexec
, regfree
) which are c-like rather than c++-like but do work.
Take boost.regex friend. if you are not allowed to use boost (sadly, there are still companies doing this), you could look into pcrecpp
, which is a C++ binding developed by google for the famous PCRE library.
A standard regex library (that is based on boost::regex) is available in the TR1 namespace if you use lasts versions of the most used compilers : std::tr1::regex.