WvStreams
|
WvRegex – Unified support for regular expressions. More...
#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 |
WvRegex – Unified support for regular expressions.
Supports matching compiled regular expressions and capturing substrings in registers. !
enum WvRegex::EFlags |
Flags that affect matching of regex.
Used in match() and continuable_match()
|
inline |
|
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.
|
inline |
Match a given string against the compiled regular expression.
\param string The string to match \param (remaining) WvString registers to capture substring matches as specified in the RE @code
extern WvString line; WvString match; if (re.match(line, match)) wvout->print("Matching substring is '%s'\n", match);
|
inline |
|
inline |
Match a given string against the compiled regular expression, capturing the start and end positions of the matching string.
\param string The string to match \param match_start If the match succeeds, the starting index of the match in string \param match_end If the match succeeds, the index of the character in string following the last character of the match \param (remaining) WvString registers to capture substring matches as specified in the RE @code
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().
|
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 |
|
inlinevirtualinherited |
By default, returns true if geterr() == 0.
Might be overridden so that isok() == false even though no error code has been specified.
Reimplemented in WvEncoderStream, WvReadLineStream, WvTCPConn, WvNullListener, WvFdStream, WvLog, WvStream, WvStreamClone, WvSSLStream, IWvStream, WvDBusServer, WvDSAKey, WvTimeStream, WvBufStream, WvListener, WvTimeoutStream, WvIStreamList, and _WvConStream.
Definition at line 39 of file wverror.h.
Referenced by WvGlob::set().
|
inlinevirtualinherited |
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, and WvDBusServer.
Definition at line 48 of file wverror.h.
Referenced by UniIniGen::commit(), UniFileSystemGen::get(), WvStreamClone::geterr(), WvEncoderStream::isok(), UniConfDaemon::listen(), UniIniGen::refresh(), WvStream::seterr(), and WvMagicCircle::WvMagicCircle().
|
inlineinherited |