library: libCore
#include "TRegexp.h"

TRegexp


class description - source file - inheritance tree (.pdf)

class TRegexp

Inheritance Chart:
TRegexp
    private:
void CopyPattern(const TRegexp& re) void GenPattern(const char* re) const char* MakeWildcard(const char* re) const public:
TRegexp(const char* re, Bool_t wildcard = kFALSE) TRegexp(const TString& re) TRegexp(const TRegexp& re) virtual ~TRegexp() static TClass* Class() Ssiz_t Index(const TString& str, Ssiz_t* len, Ssiz_t start = 0) const virtual TClass* IsA() const TRegexp& operator=(const TRegexp& re) TRegexp& operator=(const TString& re) TRegexp& operator=(const char* re) virtual void ShowMembers(TMemberInspector& insp, char* parent) TRegexp::EStatVal Status() virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
unsigned short* fPattern Compiled pattern TRegexp::EStatVal fStat Status static const unsigned int fgMaxpat Max length of compiled pattern public:
static const TRegexp::EStatVal kOK static const TRegexp::EStatVal kIllegal static const TRegexp::EStatVal kNomem static const TRegexp::EStatVal kToolong

Class Description

                                                                      
 TRegexp                                                              
                                                                      
 Regular expression class.                                            
                                                                      
   '^'             // start-of-line anchor                            
   '$'             // end-of-line anchor                              
   '.'             // matches any character                           
   '['             // start a character class                         
   ']'             // end a character class                           
   '^'             // negates character class if 1st character        
   '*'             // Kleene closure (matches 0 or more)              
   '+'             // Positive closure (1 or more)                    
   '?'             // Optional closure (0 or 1)                       
                                                                      
   Standard classes like [:alnum:], [:alpha:], etc. are not supported,
   only [a-zA-Z], [^ntf] and so on.                                   
                                                                      


TRegexp(const char *re, Bool_t wildcard)
 Create a regular expression from the input string. If wildcard is true
 then the input string contains a wildcard expression (see MakeWildcard()).

TRegexp(const TString& re)
 Create a regular expression from a TString.

TRegexp(const TRegexp& r)
 Copy ctor.

~TRegexp()

void GenPattern(const char *str)
 Generate the regular expression pattern.

void CopyPattern(const TRegexp& r)
 Copy the regular expression pattern.

const char* MakeWildcard(const char *re)
 This routine transforms a wildcarding regular expression into
 a general regular expression used for pattern matching.
 When using wildcards the regular expression is assumed to be
 preceded by a "^" (BOL) and terminated by a "$" (EOL). Also, all
 "*"'s (closures) are assumed to be preceded by a "." (i.e. any character,
 except "/"'s) and all .'s are escaped (so *.ps is different from *.eps).
 The special treatment of "/" allows the easy matching of pathnames, e.g.
 "*.root" will match "aap.root", but not "pipo/aap.root".

Ssiz_t Index(const TString& string, Ssiz_t* len, Ssiz_t i) const
 Find the first occurance of the regexp in string and return the position.
 Len is length of the matched string and i is the offset at which the
 matching should start.



Inline Functions


                 TRegexp& operator=(const TRegexp& re)
                 TRegexp& operator=(const TString& re)
                 TRegexp& operator=(const char* re)
        TRegexp::EStatVal Status()
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void Streamer(TBuffer& b)
                     void StreamerNVirtual(TBuffer& b)


Author: Fons Rademakers 04/08/95
Last update: root/base:$Name: $:$Id: TRegexp.cxx,v 1.11 2003/07/18 13:21:05 brun Exp $
Copyright (C) 1995-2000, 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.