#ifndef __REGEXP_H__ #define __REGEXP_H__ class regexp; class Regexp { public: enum { NSUBEXP = 20 }; Regexp(); Regexp( const char * exp, bool iCase = 0 ); Regexp( const Regexp &r ); ~Regexp(); const Regexp & operator=( const Regexp & r ); bool Match( const char * s ); int SubStrings() const; const string operator[]( unsigned int i ) const; int SubStart( unsigned int i ) const; int SubLength( unsigned int i ) const; string GetReplaceString( const char * source ) const; string GetErrorString() const; bool CompiledOK() const; #if defined( _RE_DEBUG ) void Dump(); #endif private: const char * str; /* used to return substring offsets only */ mutable string m_szError; regexp * rc; void ClearErrorString() const; int safeIndex( unsigned int i ) const; }; #endif