blob: cf7a7482af16b39bedc2b77386610c1976127599 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#pragma once
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;
};
|