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
virtual | ~TPRegexp() |
static TClass* | Class() |
TString | GetModifiers() const |
TString | GetPattern() const |
static Bool_t | GetThrowAtCompileError() |
virtual TClass* | IsA() const |
Bool_t | IsValid() const |
Int_t | Match(const TString& s, const TString& mods = "", Int_t start = 0, Int_t nMaxMatch = 10, TArrayI* pos = 0) |
Bool_t | MatchB(const TString& s, const TString& mods = "", Int_t start = 0, Int_t nMaxMatch = 10) |
TObjArray* | MatchS(const TString& s, const TString& mods = "", Int_t start = 0, Int_t nMaxMatch = 10) |
TPRegexp& | operator=(const TPRegexp& p) |
static void | SetThrowAtCompileError(Bool_t throwp) |
virtual void | ShowMembers(TMemberInspector& insp) const |
virtual void | Streamer(TBuffer&) |
void | StreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b) |
Int_t | Substitute(TString& s, const TString& replace, const TString& mods = "", Int_t start = 0, Int_t nMatchMax = 10) |
TPRegexp() | |
TPRegexp(const TString& pat) | |
TPRegexp(const TPRegexp& p) |
void | Compile() |
Int_t | MatchInternal(const TString& s, Int_t start, Int_t nMaxMatch, TArrayI* pos = 0) |
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 |
Int_t | SubstituteInternal(TString& s, const TString& replace, Int_t start, Int_t nMaxMatch0, Bool_t doDollarSubst) |
Translate Perl modifier flags into pcre flags. The supported modStr characters are: g, i, m, o, s, x, and the special d for debug. The meaning of the letters is: - m Treat string as multiple lines. That is, change "^" and "$" from matching the start or end of the string to matching the start or end of any line anywhere within the string. - s Treat string as single line. That is, change "." to match any character whatsoever, even a newline, which normally it would not match. Used together, as /ms, they let the "." match any character whatsoever, while still allowing "^" and "$" to match, respectively, just after and just before newlines within the string. - i Do case-insensitive pattern matching. - x Extend your pattern's legibility by permitting whitespace and comments. - p Preserve the string matched such that ${^PREMATCH}, ${^MATCH}, and ${^POSTMATCH} are available for use after matching. - g and c Global matching, and keep the Current position after failed matching. Unlike i, m, s and x, these two flags affect the way the regex is used rather than the regex itself. See Using regular expressions in Perl in perlretut for further explanation of the g and c modifiers. For more detail see: http://perldoc.perl.org/perlre.html#Modifiers.
Returns the number of expanded '$' constructs.
Perform the actual matching - protected method.
Returns a TObjArray of matched substrings as TObjString's. The TObjArray is owner of the objects and must be deleted by the user. 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(); std::cout << "\"" << subStr << "\" "; } std::cout << subStr << std::endl; produces: "abc" "a" "" "bc" For meaning of mods see ParseMods().
Perform pattern substitution with optional back-ref replacement - protected method.
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"); std::cout << nrSub << " \"" << s << "\"" <<std::endl; produces: 2 "mies noot aap" For meaning of mods see ParseMods().
Returns true if underlying PCRE structure has been successfully generated via regexp compilation.
Get value of static flag controlling whether exception should be thrown upon an error during regular expression compilation by the PCRE engine.
Set static flag controlling whether exception should be thrown upon an error during regular expression compilation by the PCRE engine.