2003-05-17 11:45:48 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
< html >
< head >
< meta name = "generator" content = "HTML Tidy, see www.w3.org" >
< title > Boost.Regex: class RegEx (deprecated)</ title >
< meta http-equiv = "Content-Type" content =
"text/html; charset=iso-8859-1" >
< link rel = "stylesheet" type = "text/css" href = "../../../boost.css" >
</ head >
< body >
< p ></ p >
< table id = "Table1" cellspacing = "1" cellpadding = "1" width = "100%"
border = "0" >
< tr >
< td valign = "top" width = "300" >
< h3 >< a href = "../../../index.htm" >< img height = "86" width = "277" alt =
"C++ Boost" src = "../../../c++boost.gif" border = "0" ></ a ></ h3 >
</ td >
< td width = "353" >
< h1 align = "center" > Boost.Regex</ h1 >
< h2 align = "center" > class RegEx (deprecated)</ h2 >
</ td >
< td width = "50" >
< h3 >< a href = "index.html" >< img height = "45" width = "43" alt =
"Boost.Regex Index" src = "uarrow.gif" border = "0" ></ a ></ h3 >
</ td >
</ tr >
</ table >
< br >
< br >
< hr >
< p > The high level wrapper class RegEx is now deprecated and does
not form a part of the < a href = "http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1429.htm" >
regular expression standardization proposal</ a > . This type
still exists, and existing code will continue to compile, however
the following documentation is unlikely to be further updated.</ p >
< pre >
#include < boost/cregex.hpp>
</ pre >
< p > The class RegEx provides a high level simplified interface to
the regular expression library, this class only handles narrow
character strings, and regular expressions always follow the
"normal" syntax - that is the same as the perl / ECMAScript
synatx.</ p >
< pre >
< b > typedef</ b > < b > bool</ b > (*GrepCallback)(< b > const</ b > RegEx& expression);
< b > typedef</ b > < b > bool</ b > (*GrepFileCallback)(< b > const</ b > < b > char</ b > * file, < b > const</ b > RegEx& expression);
< b > typedef</ b > < b > bool</ b > (*FindFilesCallback)(< b > const</ b > < b > char</ b > * file);
< b > class</ b > RegEx
{
< b > public</ b > :
RegEx();
RegEx(< b > const</ b > RegEx& o);
~RegEx();
RegEx(< b > const</ b > < b > char</ b > * c, < b > bool</ b > icase = < b > false</ b > );
< strong > explicit</ strong > RegEx(< b > const</ b > std::string& s, < b > bool</ b > icase = < b > false</ b > );
RegEx& < b > operator</ b > =(< b > const</ b > RegEx& o);
RegEx& < b > operator</ b > =(< b > const</ b > < b > char</ b > * p);
RegEx& < b > operator</ b > =(< b > const</ b > std::string& s);
< b > unsigned</ b > < b > int</ b > SetExpression(< b > const</ b > < b > char</ b > * p, < b > bool</ b > icase = < b > false</ b > );
< b > unsigned</ b > < b > int</ b > SetExpression(< b > const</ b > std::string& s, < b > bool</ b > icase = < b > false</ b > );
std::string Expression()< b > const</ b > ;
< font color = "#000080" >< i > //
</ i > < i > // now matching operators:</ i >
< i > //</ i ></ font >
< b > bool</ b > Match(< b > const</ b > < b > char</ b > * p, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > bool</ b > Match(< b > const</ b > std::string& s, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > bool</ b > Search(< b > const</ b > < b > char</ b > * p, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > bool</ b > Search(< b > const</ b > std::string& s, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > Grep(GrepCallback cb, < b > const</ b > < b > char</ b > * p, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > Grep(GrepCallback cb, < b > const</ b > std::string& s, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > Grep(std::vector< std::string>& v, < b > const</ b > < b > char</ b > * p, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > Grep(std::vector< std::string>& v, < b > const</ b > std::string& s, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > Grep(std::vector< < b > unsigned</ b > < b > int</ b > >& v, < b > const</ b > < b > char</ b > * p, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > Grep(std::vector< < b > unsigned</ b > < b > int</ b > >& v, < b > const</ b > std::string& s, < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > GrepFiles(GrepFileCallback cb, < b > const</ b > < b > char</ b > * files, < b > bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > GrepFiles(GrepFileCallback cb, < b > const</ b > std::string& files, < b > bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > FindFiles(FindFilesCallback cb, < b > const</ b > < b > char</ b > * files, < b > bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b > int</ b > flags = match_default);
< b > unsigned</ b > < b > int</ b > FindFiles(FindFilesCallback cb, < b > const</ b > std::string& files, < b > bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b > int</ b > flags = match_default);
std::string Merge(< b > const</ b > std::string& in, < b > const</ b > std::string& fmt, < b > bool</ b > copy = < b > true</ b > , < b > unsigned</ b > < b > int</ b > flags = match_default);
std::string Merge(< b > const</ b > char* in, < b > const</ b > char* fmt, < b > bool</ b > copy = < b > true</ b > , < b > unsigned int</ b > flags = match_default);
< b > unsigned</ b > Split(std::vector< std::string>& v, std::string& s, < b > unsigned</ b > flags = match_default, < b > unsigned</ b > max_count = ~0);
< font color = "#000080" >< i > //
</ i > < i > // now operators for returning what matched in more detail:
</ i > < i > //
</ i ></ font > < b > unsigned</ b > < b > int</ b > Position(< b > int</ b > i = 0)< b > const</ b > ;
< b > unsigned</ b > < b > int</ b > Length(< b > int</ b > i = 0)< b > const</ b > ;
< strong > bool</ strong > Matched(< strong > int</ strong > i = 0)< strong > const</ strong > ;
< b > unsigned</ b > < b > int</ b > Line()< b > const</ b > ;
< b > unsigned int</ b > Marks() const;
std::string What(< b > int</ b > i)< b > const</ b > ;
std::string < b > operator</ b > [](< b > int</ b > i)< b > const</ b > ;
< strong > static const unsigned int</ strong > npos;
};
</ pre >
< p > Member functions for class RegEx are defined as follows:< br >
</ p >
< p ></ p >
< table id = "Table2" cellspacing = "0" cellpadding = "7" width = "100%"
border = "0" >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > RegEx();</ td >
< td valign = "top" width = "42%" > Default constructor, constructs an
instance of RegEx without any valid expression.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > RegEx(< b > const</ b > RegEx& o);</ td >
< td valign = "top" width = "42%" > Copy constructor, all the properties
of parameter < i > o</ i > are copied.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > RegEx(< b > const</ b > < b > char</ b > * c, < b >
bool</ b > icase = < b > false</ b > );</ td >
< td valign = "top" width = "42%" > Constructs an instance of RegEx,
setting the expression to < i > c</ i > , if < i > icase</ i > is < i > true</ i >
then matching is insensitive to case, otherwise it is sensitive to
case. Throws < i > bad_expression</ i > on failure.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > RegEx(< b > const</ b > std::string& s,
< b > bool</ b > icase = < b > false</ b > );</ td >
< td valign = "top" width = "42%" > Constructs an instance of RegEx,
setting the expression to < i > s</ i > , if < i > icase</ i > is < i > true</ i >
then matching is insensitive to case, otherwise it is sensitive to
case. Throws < i > bad_expression</ i > on failure.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > RegEx& < b >
operator</ b > =(< b > const</ b > RegEx& o);</ td >
< td valign = "top" width = "42%" > Default assignment operator.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > RegEx& < b >
operator</ b > =(< b > const</ b > < b > char</ b > * p);</ td >
< td valign = "top" width = "42%" > Assignment operator, equivalent to
calling < i > SetExpression(p, false).</ i > Throws < i >
bad_expression</ i > on failure.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > RegEx& < b >
operator</ b > =(< b > const</ b > std::string& s);</ td >
< td valign = "top" width = "42%" > Assignment operator, equivalent to
calling < i > SetExpression(s, false).</ i > Throws < i >
bad_expression</ i > on failure.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
SetExpression(< b > constchar</ b > * p, < b > bool</ b > icase = < b >
false</ b > );</ td >
< td valign = "top" width = "42%" > Sets the current expression to < i >
p</ i > , if < i > icase</ i > is < i > true</ i > then matching is insensitive
to case, otherwise it is sensitive to case. Throws < i >
bad_expression</ i > on failure.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
SetExpression(< b > const</ b > std::string& s, < b > bool</ b > icase =
< b > false</ b > );</ td >
< td valign = "top" width = "42%" > Sets the current expression to < i >
s</ i > , if < i > icase</ i > is < i > true</ i > then matching is insensitive
to case, otherwise it is sensitive to case. Throws < i >
bad_expression</ i > on failure.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > std::string
Expression()< b > const</ b > ;</ td >
< td valign = "top" width = "42%" > Returns a copy of the current regular
expression.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > bool</ b > Match(< b > const</ b > < b >
char</ b > * p, < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Attempts to match the current
expression against the text < i > p</ i > using the match flags < i >
flags</ i > - see < a href = "match_flag_type.html" > match flags</ a > .
Returns < i > true</ i > if the expression matches the whole of the
input string.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > bool</ b > Match(< b > const</ b >
std::string& s, < b > unsigned</ b > < b > int</ b > flags =
match_default) ;</ td >
< td valign = "top" width = "42%" > Attempts to match the current
expression against the text < i > s</ i > using the match flags < i >
flags</ i > - see < a href = "match_flag_type.html" > match flags</ a > .
Returns < i > true</ i > if the expression matches the whole of the
input string.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > bool</ b > Search(< b > const</ b > < b >
char</ b > * p, < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Attempts to find a match for the
current expression somewhere in the text < i > p</ i > using the match
flags < i > flags</ i > - see < a href = "match_flag_type.html" > match
flags</ a > . Returns < i > true</ i > if the match succeeds.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > bool</ b > Search(< b > const</ b >
std::string& s, < b > unsigned</ b > < b > int</ b > flags =
match_default) ;</ td >
< td valign = "top" width = "42%" > Attempts to find a match for the
current expression somewhere in the text < i > s</ i > using the match
flags < i > flags</ i > - see < a href = "match_flag_type.html" > match
flags</ a > . Returns < i > true</ i > if the match succeeds.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Grep(GrepCallback cb, < b > const</ b > < b > char</ b > * p, < b > unsigned</ b >
< b > int</ b > flags = match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the text < i > p</ i > using the match flags < i > flags</ i >
- see < a href = "match_flag_type.html" > match flags</ a > . For each
match found calls the call-back function < i > cb</ i > as: cb(*this);
< p > If at any stage the call-back function returns false then the
grep operation terminates, otherwise continues until no further
matches are found. Returns the number of matches found.</ p >
</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Grep(GrepCallback cb, < b > const</ b > std::string& s, < b >
unsigned</ b > < b > int</ b > flags = match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the text < i > s</ i > using the match flags < i > flags</ i >
- see < a href = "match_flag_type.html" > match flags</ a > . For each
match found calls the call-back function < i > cb</ i > as: cb(*this);
< p > If at any stage the call-back function returns false then the
grep operation terminates, otherwise continues until no further
matches are found. Returns the number of matches found.</ p >
</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Grep(std::vector< std::string>& v, < b > const</ b > < b >
char</ b > * p, < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the text < i > p</ i > using the match flags < i > flags</ i >
- see < a href = "match_flag_type.html" > match flags</ a > . For each
match pushes a copy of what matched onto < i > v</ i > . Returns the
number of matches found.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Grep(std::vector< std::string>& v, < b > const</ b >
std::string& s, < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the text < i > s</ i > using the match flags < i > flags</ i >
- see < a href = "match_flag_type.html" > match flags</ a > . For each
match pushes a copy of what matched onto < i > v</ i > . Returns the
number of matches found.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Grep(std::vector< < b > unsigned int</ b > >& v, < b > const</ b >
< b > char</ b > * p, < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the text < i > p</ i > using the match flags < i > flags</ i >
- see < a href = "match_flag_type.html" > match flags</ a > . For each
match pushes the starting index of what matched onto < i > v</ i > .
Returns the number of matches found.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Grep(std::vector< < b > unsigned int</ b > >& v, < b > const</ b >
std::string& s, < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the text < i > s</ i > using the match flags < i > flags</ i >
- see < a href = "match_flag_type.html" > match flags</ a > . For each
match pushes the starting index of what matched onto < i > v</ i > .
Returns the number of matches found.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
GrepFiles(GrepFileCallback cb, < b > const</ b > < b > char</ b > * files, < b >
bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the files < i > files</ i > using the match flags < i >
flags</ i > - see < a href = "match_flag_type.html" > match flags</ a > . For
each match calls the call-back function cb.
< p > If the call-back returns false then the algorithm returns
without considering further matches in the current file, or any
further files. </ p >
< p > The parameter < i > files</ i > can include wild card characters '*'
and '?', if the parameter < i > recurse</ i > is true then searches
sub-directories for matching file names. </ p >
< p > Returns the total number of matches found.</ p >
< p > May throw an exception derived from std::runtime_error if file
io fails.</ p >
</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
GrepFiles(GrepFileCallback cb, < b > const</ b > std::string& files,
< b > bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b > int</ b >
flags = match_default);</ td >
< td valign = "top" width = "42%" > Finds all matches of the current
expression in the files < i > files</ i > using the match flags < i >
flags</ i > - see < a href = "match_flag_type.html" > match flags</ a > . For
each match calls the call-back function cb.
< p > If the call-back returns false then the algorithm returns
without considering further matches in the current file, or any
further files. </ p >
< p > The parameter < i > files</ i > can include wild card characters '*'
and '?', if the parameter < i > recurse</ i > is true then searches
sub-directories for matching file names. </ p >
< p > Returns the total number of matches found.</ p >
< p > May throw an exception derived from std::runtime_error if file
io fails.</ p >
</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
FindFiles(FindFilesCallback cb, < b > const</ b > < b > char</ b > * files,
< b > bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b > int</ b >
flags = match_default);</ td >
< td valign = "top" width = "42%" > Searches < i > files</ i > to find all
those which contain at least one match of the current expression
using the match flags < i > flags</ i > - see < a href = "match_flag_type.html" > match flags</ a > . For each matching file
calls the call-back function cb.
< p > If the call-back returns false then the algorithm returns
without considering any further files. </ p >
< p > The parameter < i > files</ i > can include wild card characters '*'
and '?', if the parameter < i > recurse</ i > is true then searches
sub-directories for matching file names. </ p >
< p > Returns the total number of files found.</ p >
< p > May throw an exception derived from std::runtime_error if file
io fails.</ p >
</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
FindFiles(FindFilesCallback cb, < b > const</ b > std::string&
files, < b > bool</ b > recurse = < b > false</ b > , < b > unsigned</ b > < b >
int</ b > flags = match_default);</ td >
< td valign = "top" width = "42%" > Searches < i > files</ i > to find all
those which contain at least one match of the current expression
using the match flags < i > flags</ i > - see < a href = "match_flag_type.html" > match flags</ a > . For each matching file
calls the call-back function cb.
< p > If the call-back returns false then the algorithm returns
without considering any further files. </ p >
< p > The parameter < i > files</ i > can include wild card characters '*'
and '?', if the parameter < i > recurse</ i > is true then searches
sub-directories for matching file names. </ p >
< p > Returns the total number of files found.</ p >
< p > May throw an exception derived from std::runtime_error if file
io fails.</ p >
</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > std::string Merge(< b > const</ b >
std::string& in, < b > const</ b > std::string& fmt, < b > bool</ b >
copy = < b > true</ b > , < b > unsigned</ b > < b > int</ b > flags =
match_default);</ td >
< td valign = "top" width = "42%" > Performs a search and replace
operation: searches through the string < i > in</ i > for all
occurrences of the current expression, for each occurrence replaces
the match with the format string < i > fmt</ i > . Uses < i > flags</ i > to
determine what gets matched, and how the format string should be
treated. If < i > copy</ i > is true then all unmatched sections of
input are copied unchanged to output, if the flag < em >
format_first_only</ em > is set then only the first occurance of the
2003-05-24 11:13:26 +00:00
pattern found is replaced. Returns the new string. See < a href = "format_syntax.html" > also format string syntax</ a > , < a href = "match_flag_type.html" > match flags</ a > and < a href = "match_flag_type.html" > format flags</ a > .</ td >
2003-05-17 11:45:48 +00:00
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > std::string Merge(< b > const</ b > char*
in, < b > const</ b > char* fmt, < b > bool</ b > copy = < b > true</ b > , < b >
unsigned int</ b > flags = match_default);</ td >
< td valign = "top" width = "42%" > Performs a search and replace
operation: searches through the string < i > in</ i > for all
occurrences of the current expression, for each occurrence replaces
the match with the format string < i > fmt</ i > . Uses < i > flags</ i > to
determine what gets matched, and how the format string should be
treated. If < i > copy</ i > is true then all unmatched sections of
input are copied unchanged to output, if the flag < em >
format_first_only</ em > is set then only the first occurance of the
2003-05-24 11:13:26 +00:00
pattern found is replaced. Returns the new string. See < a href = "format_syntax.html" > also format string syntax</ a > , < a href = "match_flag_type.html" > match flags</ a > and < a href = "match_flag_type.html" > format flags</ a > .</ td >
2003-05-17 11:45:48 +00:00
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td > </ td >
< td valign = "top" >< b > unsigned</ b >
Split(std::vector< std::string>& v, std::string& s,
< b > unsigned</ b > flags = match_default, < b > unsigned</ b > max_count =
~0);</ td >
< td valign = "top" > Splits the input string and pushes each one onto
the vector. If the expression contains no marked sub-expressions,
then one string is outputted for each section of the input that
does not match the expression. If the expression does contain
marked sub-expressions, then outputs one string for each marked
sub-expression each time a match occurs. Outputs no more than < i >
max_count</ i > strings. Before returning, deletes from the input
string < i > s</ i > all of the input that has been processed (all of
the string if < i > max_count</ i > was not reached). Returns the number
of strings pushed onto the vector.</ td >
< td > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Position(< b > int</ b > i = 0)< b > const</ b > ;</ td >
< td valign = "top" width = "42%" > Returns the position of what matched
sub-expression < i > i</ i > . If < i > i = 0</ i > then returns the position
of the whole match. Returns RegEx::npos if the supplied index is
invalid, or if the specified sub-expression did not participate in
the match.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Length(< b > int</ b > i = 0)< b > const</ b > ;</ td >
< td valign = "top" width = "42%" > Returns the length of what matched
sub-expression < i > i</ i > . If < i > i = 0</ i > then returns the length of
the whole match. Returns RegEx::npos if the supplied index is
invalid, or if the specified sub-expression did not participate in
the match.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td > </ td >
< td >< strong > bool</ strong > Matched(< strong > int</ strong > i =
0)< strong > const</ strong > ;</ td >
< td > Returns true if sub-expression < em > i</ em > was matched, false
otherwise.</ td >
< td > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned</ b > < b > int</ b >
Line()< b > const</ b > ;</ td >
< td valign = "top" width = "42%" > Returns the line on which the match
occurred, indexes start from 1 not zero, if no match occurred then
returns RegEx::npos.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" >< b > unsigned int</ b > Marks()
const;</ td >
< td valign = "top" width = "42%" > Returns the number of marked
sub-expressions contained in the expression. Note that this
includes the whole match (sub-expression zero), so the value
returned is always > = 1.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > std::string What(< b > int</ b >
i)< b > const</ b > ;</ td >
< td valign = "top" width = "42%" > Returns a copy of what matched
sub-expression < i > i</ i > . If < i > i = 0</ i > then returns a copy of the
whole match. Returns a null string if the index is invalid or if
the specified sub-expression did not participate in a match.</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
< tr >
< td valign = "top" width = "7%" > </ td >
< td valign = "top" width = "43%" > std::string < b >
operator</ b > [](< b > int</ b > i)< b > const</ b > ;</ td >
< td valign = "top" width = "42%" > Returns < i > what(i);</ i >
< p > Can be used to simplify access to sub-expression matches, and
make usage more perl-like.</ p >
</ td >
< td valign = "top" width = "7%" > </ td >
</ tr >
</ table >
< br >
< br >
< p ></ p >
< hr >
2003-10-24 10:51:38 +00:00
< p > Revised
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
24 Oct 2003
<!--webbot bot="Timestamp" endspan i-checksum="39359" --> </ p >
< p >< i > © Copyright John Maddock 1998-
<!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%Y" startspan -->
2003<!--webbot bot="Timestamp" endspan i-checksum="39359" --> </ i ></ p >
< P >< I > Use, modification and distribution are subject to the Boost Software License,
Version 1.0. (See accompanying file < A href = "../../../LICENSE_1_0.txt" > LICENSE_1_0.txt</ A >
or copy at < A href = "http://www.boost.org/LICENSE_1_0.txt" > http://www.boost.org/LICENSE_1_0.txt</ A > )</ I ></ P >
2003-05-17 11:45:48 +00:00
</ body >
</ html >