TPRegexp
class description - source file - inheritance tree (.pdf)
private:
void Compile()
void Optimize()
UInt_t ParseMods(const TString& mods) const
Int_t ReplaceSubs(const TString& s, TString& final, const TString& replacePattern, Int_t* ovec, Int_t nmatch) const
public:
TPRegexp()
TPRegexp(const TString& pat)
TPRegexp(const TPRegexp& p)
virtual ~TPRegexp()
static TClass* Class()
virtual TClass* IsA() const
Int_t Match(const TString& s, const TString& mods = , Int_t offset = 0, Int_t nMatchMax = 30, TArrayI* pos = 0)
Bool_t MatchB(const TString& s, const TString& mods = , Int_t offset = 0, Int_t nMaxMatch = 30)
TObjArray* MatchS(const TString& s, const TString& mods = , Int_t offset = 0, Int_t nMaxMatch = 30)
TPRegexp& operator=(const TPRegexp& p)
virtual void ShowMembers(TMemberInspector& insp, char* parent)
virtual void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Int_t Substitute(TString& s, const TString& replace, const TString& mods = , Int_t offset = 0, Int_t nMatchMax = 30)
private:
TString fPattern
PCREPriv_t* fPriv
UInt_t fPCREOpts
public:
static const enum TPRegexp:: kPCRE_GLOBAL
static const enum TPRegexp:: kPCRE_OPTIMIZE
static const enum TPRegexp:: kPCRE_DEBUG_MSGS
static const enum TPRegexp:: kPCRE_INTMASK
TPRegexp
C++ Wrapper for the "Perl Compatible Regular Expressions" library
The PCRE lib can be found at:
http://www.pcre.org/
Extensive documentation about Regular expressions in Perl can be
found at :
http://perldoc.perl.org/perlre.html
TPRegexp()
Default ctor.
TPRegexp(const TString &pat)
Create and initialize with pat.
TPRegexp(const TPRegexp &p)
Copy ctor.
~TPRegexp()
Cleanup.
UInt_t ParseMods(const TString &modStr) const
Translate Perl modifier flags into pcre flags.
void Compile()
Compile the fPattern.
void Optimize()
Send the pattern through the optimizer.
Int_t ReplaceSubs(const TString &s, TString &final,
const TString &replacePattern,
Int_t *offVec, Int_t nrMatch) const
Return the number of substitutions.
Int_t Match(const TString &s, const TString &mods, Int_t start,
Int_t nMaxMatch, TArrayI *pos)
The number of matches is returned, this equals the full match +
sub-pattern matches.
nMaxmatch is the maximum allowed number of matches.
pos contains the string indices of the matches. Its usage is
shown in the routine MatchS.
TObjArray* MatchS(const TString &s, const TString &mods,
Int_t start, Int_t nMaxMatch)
Returns a TObjArray of matched substrings as TObjString's.
The TObjArray is owner of the objects. The first entry is the full
matched pattern, followed by the subpatterns.
If a pattern was not matched, it will return an empty substring:
TObjArray *subStrL = TPRegexp("(a|(z))(bc)").MatchS("abc");
for (Int_t i = 0; i < subStrL->GetLast()+1; i++) {
const TString subStr = ((TObjString *)subStrL->At(i))->GetString();
cout << "\"" << subStr << "\" ";
}
cout << subStr << endl;
produces: "abc" "a" "" "bc"
Int_t Substitute(TString &s, const TString &replacePattern,
const TString &mods, Int_t start, Int_t nMaxMatch)
Substitute replaces the string s by a new string in which matching
patterns are replaced by the replacePattern string. The number of
substitutions are returned.
TString s("aap noot mies");
const Int_t nrSub = TPRegexp("(\\w*) noot (\\w*)").Substitute(s,"$2 noot $1");
cout << nrSub << " \"" << s << "\"" <<endl;
produces: 2 "mies noot aap"
Inline Functions
Bool_t MatchB(const TString& s, const TString& mods = , Int_t offset = 0, Int_t nMaxMatch = 30)
TPRegexp& operator=(const TPRegexp& p)
TClass* Class()
TClass* IsA() const
void ShowMembers(TMemberInspector& insp, char* parent)
void Streamer(TBuffer& b)
void StreamerNVirtual(TBuffer& b)
Author: Eddy Offermann 24/06/05
Last update: root/base:$Name: $:$Id: TPRegexp.cxx,v 1.1 2005/12/02 16:17:48 rdm Exp $
Copyright (C) 1995-2005, Rene Brun and Fons Rademakers. *
ROOT page - Class index - Class Hierarchy - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.