Using regex_search we could check if a string cointains a regular expression.
The function requires in input the string to be searched, a match, and the regular expression.
A match is an object of this class:
template <class Iterator,
class Allocator=std::allocator<sub_match<Iterator> >
class match_results;
A few handy typedefs are available to simplify its usage. In the example we are about to use smatch, a match for a (simple) string.
Here is the example:
#include <iostream>
#include <string>
#include "boost/regex.hpp"
using std::cout;
using std::endl;
using std::string;
using boost::regex;
using boost::smatch;
using boost::regex_search;
void r02()
{
regex reg("(new)|(delete)");
smatch m;
string s = "Calls to new must be followed by delete.";
if(regex_search(s, m, reg))
{
if(m[1].matched)
cout << "(new), first expression in the regex, has been found" << endl;
}
}
No comments:
Post a Comment