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 > <EFBFBD> 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 >