Yate
Regexp Class Reference

A regexp matching class. More...

#include <yateclass.h>

Inheritance diagram for Regexp:
String GenObject

Public Member Functions

 Regexp ()
 Regexp (const char *value, bool extended=false, bool insensitive=false)
 Regexp (const Regexp &value)
virtual ~Regexp ()
Regexp & operator= (const char *value)
bool compile () const
bool matches (const char *value) const
virtual bool matches (const String &value) const
void setFlags (bool extended, bool insensitive)
bool isExtended () const
bool isCaseInsensitive () const
Public Member Functions inherited from String
 String ()
 String (const char *value, int len=-1)
 String (char value, unsigned int repeat=1)
 String (int32_t value)
 String (uint32_t value)
 String (int64_t value)
 String (uint64_t value)
 String (bool value)
 String (double value)
 String (const String &value)
 String (const String *value)
virtual ~String ()
virtual void * getObject (const String &name) const
const char * c_str () const
const char * safe () const
const char * safe (const char *defStr) const
unsigned int length () const
bool null () const
int lenUtf8 (uint32_t maxChar=0x10ffff, bool overlong=false) const
int fixUtf8 (const char *replace=0, uint32_t maxChar=0x10ffff, bool overlong=false)
unsigned int encodeFlags (const TokenDict *tokens) const
uint64_t encodeFlags (const TokenDict64 *tokens) const
String & decodeFlags (unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
String & decodeFlags (uint64_t flags, const TokenDict64 *tokens, bool unknownflag=true)
bool checkBOM () const
bool stripBOM ()
unsigned int hash () const
void clear ()
char at (int index) const
String substr (int offs, int len=-1) const
String & trimBlanks ()
String & trimSpaces ()
virtual const String & toString () const
int toInteger (int defvalue=0, int base=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true) const
int toInteger (const TokenDict *tokens, int defvalue=0, int base=0) const
int toInteger (const TokenDictStr *tokens, int defvalue=0, int base=0) const
long int toLong (long int defvalue=0, int base=0, long int minvalue=LONG_MIN, long int maxvalue=LONG_MAX, bool clamp=true) const
int64_t toInt64 (int64_t defvalue=0, int base=0, int64_t minvalue=LLONG_MIN, int64_t maxvalue=LLONG_MAX, bool clamp=true) const
int64_t toInt64Dict (const TokenDict64 *tokens, int64_t defvalue=0, int base=0) const
int64_t toInt64Dict (const TokenDictStr64 *tokens, int64_t defvalue=0, int base=0) const
uint64_t toUInt64 (uint64_t defvalue=0, int base=0, uint64_t minvalue=0, uint64_t maxvalue=ULLONG_MAX, bool clamp=true) const
double toDouble (double defvalue=0.0) const
bool toBoolean (bool defvalue=false) const
bool isBoolean () const
String & toUpper ()
String & toLower ()
char operator[] (signed int index) const
char operator[] (unsigned int index) const
 operator const char * () const
String & assign (const char *value, int len=-1)
String & assign (char value, unsigned int repeat=1)
String & hexify (const void *data, unsigned int len, char sep=0, bool upCase=false)
String & operator= (const String &value)
String & operator= (const String *value)
String & operator= (const char *value)
String & operator= (char value)
String & operator= (int32_t value)
String & operator= (uint32_t value)
String & operator= (int64_t value)
String & operator= (uint64_t value)
String & operator= (bool value)
String & operator= (double value)
String & operator+= (const char *value)
String & operator+= (char value)
String & operator+= (int32_t value)
String & operator+= (uint32_t value)
String & operator+= (int64_t value)
String & operator+= (uint64_t value)
String & operator+= (bool value)
String & operator+= (double value)
bool operator== (const char *value) const
bool operator!= (const char *value) const
bool operator== (const String &value) const
bool operator!= (const String &value) const
bool operator&= (const char *value) const
bool operator|= (const char *value) const
String & operator<< (const char *value)
String & operator<< (char value)
String & operator<< (int32_t value)
String & operator<< (uint32_t value)
String & operator<< (int64_t value)
String & operator<< (uint64_t value)
String & operator<< (bool value)
String & operator<< (double value)
String & operator>> (const char *skip)
String & operator>> (char &store)
String & operator>> (UChar &store)
String & operator>> (int &store)
String & operator>> (unsigned int &store)
String & operator>> (bool &store)
String & append (const char *value, int len)
String & append (const char *value, const char *separator=0, bool force=false)
String & append (const ObjList *list, const char *separator=0, bool force=false)
String & append (const ObjList &list, const char *separator=0, bool force=false)
String & append (char value, unsigned int len=1)
String & append (double value, unsigned int decimals=3)
String & insert (unsigned int pos, const char *value, int len=-1)
String & insert (unsigned int pos, char value, unsigned int len=1)
String & printf (const char *format,...)
String & printf (unsigned int length, const char *format,...)
String & printfAppend (const char *format,...)
String & printfAppend (unsigned int length, const char *format,...)
String & appendFixed (unsigned int fixedLength, const char *str, unsigned int len=-1, char fill=' ', int align=Left)
String & appendFixed (unsigned int fixedLength, const String &str, char fill=' ', int align=Left)
int find (char what, unsigned int offs=0) const
int find (const char *what, unsigned int offs=0) const
int rfind (char what) const
int rfind (const char *what) const
bool startsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool endsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool startSkip (const char *what, bool wordBreak=true, bool caseInsensitive=false)
String & replaceChars (const char *what, const char *repl, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
String & removeChars (const char *what, int wLen=-1, bool *chg=0)
String & extractTo (const char *sep, String &store)
String & extractTo (const char *sep, bool &store)
String & extractTo (const char *sep, int &store, int base=0)
String & extractTo (const char *sep, int &store, const TokenDict *tokens, int base=0)
String & extractTo (const char *sep, double &store)
bool matches (const Regexp &rexp)
int matchOffset (int index=0) const
int matchLength (int index=0) const
String matchString (int index=0) const
String replaceMatches (const String &templ) const
int matchCount () const
ObjList * split (ObjList &list, char separator, bool emptyOK=true) const
ObjList * split (ObjList &list, const Regexp &reg, bool emptyOK=true) const
ObjList * split (char separator, bool emptyOK=true) const
ObjList * split (const Regexp &reg, bool emptyOK=true) const
String msgEscape (char extraEsc=0) const
String msgUnescape (int *errptr=0, char extraEsc=0) const
String sqlEscape (char extraEsc=0) const
String & uriEscapeTo (String &buf, char extraEsc=0, const char *noEsc=0) const
String uriEscape (char extraEsc=0, const char *noEsc=0) const
String & uriUnescapeTo (String &buf, bool setPartial=false, int *errptr=0) const
String & uriUnescapeStr (bool setPartial=false, int *errptr=0)
String uriUnescape (int *errptr=0, bool setPartial=true) const
Public Member Functions inherited from GenObject
 GenObject ()
virtual ~GenObject ()
virtual bool alive () const
virtual void destruct ()
virtual const String & traceId () const
NamedCounter * getObjCounter () const
NamedCounter * setObjCounter (NamedCounter *counter)

Protected Member Functions

virtual void changed ()
bool doCompile () const

Friends

class String

Additional Inherited Members

Public Types inherited from String
enum  Align { Left = 0 , Center , Right }
Static Public Member Functions inherited from String
static const String & empty ()
static const char * boolText (bool value)
static int lenUtf8 (const char *value, uint32_t maxChar=0x10ffff, bool overlong=false)
static bool checkBOM (const char *str)
static bool stripBOM (const char *&str)
static bool stripBOM (char *&str)
static unsigned int hash (const char *value, unsigned int h=0)
static String msgEscape (const char *str, char extraEsc=0)
static String msgUnescape (const char *str, int *errptr=0, char extraEsc=0)
static String sqlEscape (const char *str, char extraEsc=0)
static String & uriEscapeTo (String &buf, const char *str, char extraEsc=0, const char *noEsc=0)
static String & uriEscapeTo (String &buf, const char *str, const char *extraEsc, const char *noEsc=0)
static String uriEscape (const char *str, char extraEsc=0, const char *noEsc=0)
static String uriEscape (const char *str, const char *extraEsc, const char *noEsc=0)
static String & uriUnescapeTo (String &buf, const char *str, bool setPartial=false, int *errptr=0)
static String uriUnescape (const char *str, int *errptr=0, bool setPartial=true)
static const String * atom (const String *&str, const char *val)
static unsigned int c_starts_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int c_ends_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int c_skip (const char *&str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int c_skip_chars (const char *&str, const char *what, int len=-1, bool skipFound=true)
static char * c_replace_chars (const char *str, const char *what, const char *repl=0, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
Static Public Member Functions inherited from GenObject
static void * getObject (const String &name, const GenObject *obj)
static bool getObjCounting ()
static void setObjCounting (bool enable)
static NamedCounter * getObjCounter (const String &name, bool create=true)
static ObjList & getObjCounters ()

Detailed Description

A regexp matching class.

A regular expression matching class.

Constructor & Destructor Documentation

◆ Regexp() [1/3]

Regexp ( )

Creates a new, empty regexp.

Referenced by operator=(), and Regexp().

◆ Regexp() [2/3]

Regexp ( const char * value,
bool extended = false,
bool insensitive = false )
explicit

Creates a new initialized regexp.

Parameters
valueInitial value of the regexp.
extendedTrue to use POSIX Extended Regular Expression syntax
insensitiveTrue to not differentiate case

◆ Regexp() [3/3]

Regexp ( const Regexp & value)

Copy constructor.

Parameters
valueInitial value of the regexp.

References Regexp().

◆ ~Regexp()

virtual ~Regexp ( )
virtual

Destroys the regexp, disposes the memory.

Member Function Documentation

◆ changed()

virtual void changed ( )
protectedvirtual

Called whenever the value changed (except in constructors) to recompile.

Reimplemented from String.

◆ compile()

bool compile ( ) const
inline

Makes sure the regular expression is compiled

Returns
True if successfully compiled, false on error

References doCompile().

◆ doCompile()

bool doCompile ( ) const
protected

Compile the regular expression

Returns
True if successfully compiled, false on error

References matches().

Referenced by compile().

◆ isCaseInsensitive()

bool isCaseInsensitive ( ) const

Return the Case Insensitive flag

Returns
True if not differentiating case

◆ isExtended()

bool isExtended ( ) const

Return the POSIX Extended syntax flag

Returns
True if using POSIX Extended Regular Expression syntax

◆ matches() [1/2]

bool matches ( const char * value) const

Checks if the pattern matches a given value

Parameters
valueString to check for match
Returns
True if matches, false otherwise

Referenced by doCompile(), and matches().

◆ matches() [2/2]

virtual bool matches ( const String & value) const
inlinevirtual

Checks if the pattern matches a string

Parameters
valueString to check for match
Returns
True if matches, false otherwise

Reimplemented from String.

References matches(), and String::safe().

◆ operator=()

Regexp & operator= ( const char * value)
inline

Assignment from char* operator.

References String::operator=(), and Regexp().

◆ setFlags()

void setFlags ( bool extended,
bool insensitive )

Change the expression matching flags

Parameters
extendedTrue to use POSIX Extended Regular Expression syntax
insensitiveTrue to not differentiate case

The documentation for this class was generated from the following file: