#include <wvregex.h>
Public Types | |
enum | CFlags { BASIC = 0, EXTENDED = REG_EXTENDED, ICASE = REG_ICASE, NOSUB = REG_NOSUB, NEWLINE = REG_NEWLINE } |
Flags that affect interpretation of the regex; used in Regex() and set(). | |
enum | EFlags { NOTBOL = REG_NOTBOL, NOTEOL = REG_NOTEOL } |
Flags that affect matching of regex. More... | |
Public Member Functions | |
WvRegex () | |
Construct an empty regex object. | |
WvRegex (WvStringParm regex, int cflags=default_cflags) | |
Construct a regex object, compiling the given regex. | |
bool | set (WvStringParm regex, int cflags=default_cflags) |
Replace the current regex to match with a new one. | |
bool | match (WvStringParm string, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression. | |
bool | match (WvStringParm string, int eflags, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression. | |
bool | continuable_match (WvStringParm string, int &match_start, int &match_end, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string. | |
bool | continuable_match (WvStringParm string, int eflags, int &match_start, int &match_end, WVREGEX_REGS_DECL) const |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string. | |
virtual bool | isok () const |
By default, returns true if geterr() == 0. | |
virtual int | geterr () const |
If isok() is false, return the system error number corresponding to the error, -1 for a special error string (which you can obtain with errstr()) or 0 on end of file. | |
virtual WvString | errstr () const |
void | seterr (WvStringParm specialerr) |
void | seterr (WVSTRING_FORMAT_DECL) |
void | seterr (const WvErrorBase &err) |
void | seterr_both (int _errnum, WvStringParm specialerr) |
void | seterr_both (int _errnum, WVSTRING_FORMAT_DECL) |
void | noerr () |
Reset our error state - there's no error condition anymore. | |
Static Public Member Functions | |
static WvString | strerror (int errnum) |
A replacement for the operating system strerror() function that can map more kinds of error strings (especially in win32). | |
Static Public Attributes | |
static const int | default_cflags = WvRegex::EXTENDED |
static const int | default_eflags = 0 |
static WvString | __wvre_null_reg |
Internal use only. | |
Protected Attributes | |
int | errnum |
WvString | errstring |
Supports matching compiled regular expressions and capturing substrings in registers. !
Definition at line 47 of file wvregex.h.
enum WvRegex::EFlags |
Flags that affect matching of regex.
Used in match() and continuable_match()
WvRegex::WvRegex | ( | ) | [inline] |
WvRegex::WvRegex | ( | WvStringParm | regex, | |
int | cflags = default_cflags | |||
) | [inline] |
bool WvRegex::set | ( | WvStringParm | regex, | |
int | cflags = default_cflags | |||
) |
Replace the current regex to match with a new one.
regex | The new regular expression to match | |
cflags | CFlags used to compile the regular expression; the defaults are case sensitive, extended RE. |
Definition at line 27 of file wvregex.cc.
bool WvRegex::match | ( | WvStringParm | string, | |
WVREGEX_REGS_DECL | ||||
) | const [inline] |
Match a given string against the compiled regular expression.
string | The string to match | |
(remaining) | WvString registers to capture substring matches as specified in the RE |
bool WvRegex::match | ( | WvStringParm | string, | |
int | eflags, | |||
WVREGEX_REGS_DECL | ||||
) | const [inline] |
bool WvRegex::continuable_match | ( | WvStringParm | string, | |
int & | match_start, | |||
int & | match_end, | |||
WVREGEX_REGS_DECL | ||||
) | const [inline] |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string.
string | The string to match | |
match_start | If the match succeeds, the starting index of the match in string | |
match_end | If the match succeeds, the index of the character in string following the last character of the match | |
(remaining) | WvString registers to capture substring matches as specified in the RE |
extern WvString line; int start = 0; WvString match; int match_start, match_end; while (re.continuable_match(&line[start], match_start, match_end, match)) { wvout->print("Matching substring is '%s'@[%s,%s)\n", match, match_start, match_end); start += match_end; }
Definition at line 230 of file wvregex.h.
Referenced by strcoll_split().
bool WvRegex::continuable_match | ( | WvStringParm | string, | |
int | eflags, | |||
int & | match_start, | |||
int & | match_end, | |||
WVREGEX_REGS_DECL | ||||
) | const [inline] |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string.
string | The string to match | |
eflags | EFlags that affect matching | |
match_start | If the match succeeds, the starting index of the match in string | |
match_end | If the match succeeds, the index of the character in string following the last character of the match | |
(remaining) | WvString registers to capture substring matches as specified in the RE |
virtual bool WvErrorBase::isok | ( | ) | const [inline, virtual, inherited] |
By default, returns true if geterr() == 0.
Might be overridden so that isok() == false even though no error code has been specified.
Reimplemented in WvBufStream, WvDSAKey, WvEncoderStream, WvFdStream, WvIStreamList, WvNullListener, WvLog, WvSSLStream, WvStream, WvStreamClone, WvTCPConn, WvTimeoutStream, and WvTimeStream.
Definition at line 39 of file wverror.h.
Referenced by WvUnixListener::accept(), WvTCPListener::accept(), and WvGlob::set().
virtual int WvErrorBase::geterr | ( | ) | const [inline, virtual, inherited] |
If isok() is false, return the system error number corresponding to the error, -1 for a special error string (which you can obtain with errstr()) or 0 on end of file.
If isok() is true, returns an undefined number.
Reimplemented in WvStreamClone.
Definition at line 48 of file wverror.h.
Referenced by UniIniGen::commit(), UniFileSystemGen::get(), WvStreamClone::geterr(), UniIniGen::refresh(), WvStream::seterr(), and WvMagicCircle::WvMagicCircle().
void WvErrorBase::noerr | ( | ) | [inline, inherited] |