Regular expression class.
Note that the '|' operator (union) is not supported, nor are parentheses (grouping). Therefore "a|b" does not match "a".
Standard classes like [:alnum:], [:alpha:], etc. are not supported, only [a-zA-Z], [^ntf] and so on.
Warning: The preferred way to use regular expressions is via std::regex. E.g., Index() functions may return incorrect result.
Public Types | |
| enum | EStatVal { kOK = 0 , kIllegal , kNomem , kToolong } | 
Public Member Functions | |
| TRegexp (const char *re, Bool_t wildcard=kFALSE) | |
| Create a regular expression from the input string.   | |
| TRegexp (const TRegexp &re) | |
| Copy ctor.   | |
| TRegexp (const TString &re) | |
| Create a regular expression from a TString.   | |
| virtual | ~TRegexp () | 
| Destructor.   | |
| Ssiz_t | Index (const TString &str, Ssiz_t *len, Ssiz_t start=0) const | 
| Find the first occurrence of the regexp in string and return the position, or -1 if there is no match.   | |
| virtual TClass * | IsA () const | 
| TRegexp & | operator= (const char *re) | 
| Assignment operator taking a char* and assigning it to a regexp.   | |
| TRegexp & | operator= (const TRegexp &re) | 
| Assignment operator.   | |
| TRegexp & | operator= (const TString &re) | 
| Assignment operator taking a TString.   | |
| EStatVal | Status () | 
| Check status of regexp.   | |
| virtual void | Streamer (TBuffer &) | 
| void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) | 
Static Public Member Functions | |
| static TClass * | Class () | 
| static const char * | Class_Name () | 
| static constexpr Version_t | Class_Version () | 
| static const char * | DeclFileName () | 
Private Member Functions | |
| void | CopyPattern (const TRegexp &re) | 
| Copy the regular expression pattern.   | |
| void | GenPattern (const char *re) | 
| Generate 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.   | |
Private Attributes | |
| Pattern_t * | fPattern | 
| EStatVal | fStat | 
Static Private Attributes | |
| static const unsigned | fgMaxpat = 2048 | 
#include <TRegexp.h>
Create a regular expression from the input string.
If wildcard is true then the input string will first be interpreted as a wildcard expression by MakeWildcard(), and the result then interpreted as a regular expression.
Definition at line 54 of file TRegexp.cxx.
Create a regular expression from a TString.
Definition at line 65 of file TRegexp.cxx.
Copy ctor.
Definition at line 73 of file TRegexp.cxx.
      
  | 
  virtual | 
Destructor.
Definition at line 81 of file TRegexp.cxx.
Copy the regular expression pattern.
Definition at line 131 of file TRegexp.cxx.
      
  | 
  private | 
Generate the regular expression pattern.
Definition at line 121 of file TRegexp.cxx.
Find the first occurrence of the regexp in string and return the position, or -1 if there is no match.
Len is length of the matched string and i is the offset at which the matching should start. Please, see the Warning in the class documentation above.
Definition at line 213 of file TRegexp.cxx.
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 and "?"'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".
Definition at line 148 of file TRegexp.cxx.
Assignment operator taking a char* and assigning it to a regexp.
Definition at line 101 of file TRegexp.cxx.
Assignment operator.
Definition at line 89 of file TRegexp.cxx.
Assignment operator taking a TString.
Definition at line 111 of file TRegexp.cxx.
| TRegexp::EStatVal TRegexp::Status | ( | ) | 
Check status of regexp.
Definition at line 235 of file TRegexp.cxx.
      
  | 
  inline |