Loading...
Searching...
No Matches
BALL::RegularExpression Class Reference
Foundation Classes » General datastructures » Miscellaneous

`#include <BALL/DATATYPE/regularExpression.h>`

## Public Member Functions

Constructors and Destructors
| RegularExpression ()
| Default constructor.
| RegularExpression (const RegularExpression &regular_expression)
| Copy constructor.
| RegularExpression (const String &pattern, bool wildcard_pattern=false)
virtual | ~RegularExpression ()
| Destructor.
virtual void | clear ()
| Reset the object attributes to their default values.
void | destroy ()
| Destroy the instance.
Assignment
RegularExpression & | operator= (const RegularExpression &expression)
| Assignment operator.
void | set (const RegularExpression &regular_expression)
| Assign from another instance.
void | set (const String &pattern, bool wildcard_pattern=false)
| Assign from a string.
void | get (RegularExpression &regular_expression) const
| Assign to another instance.
Predicates
bool | isEmpty () const
bool | operator== (const RegularExpression &regular_expression) const
bool | operator!= (const RegularExpression &regular_expression) const
bool | operator< (const RegularExpression &regular_expression) const
bool | operator<= (const RegularExpression &regular_expression) const
bool | operator>= (const RegularExpression &regular_expression) const
bool | operator> (const RegularExpression &regular_expression) const
Debugging and Diagnostics
virtual bool | isValid () const
virtual void | dump (std::ostream &s=std::cout, Size depth=0) const

## Static Public Attributes

String constants
static const String | ALPHA
static const String | ALPHANUMERIC
static const String | REAL
static const String | IDENTIFIER
static const String | INTEGER
static const String | HEXADECIMAL_INTEGER
static const String | LOWERCASE
static const String | NON_ALPHA
static const String | NON_ALPHANUMERIC
static const String | NON_NUMERIC
static const String | NON_WHITESPACE
static const String | UPPERCASE
static const String | WHITESPACE

## Storers

BALL_EXPORT friend std::ostream & | operator<< (std::ostream &s, const RegularExpression &regular_expression)
BALL_EXPORT friend std::istream & | operator>> (std::istream &s, RegularExpression &regular_expression)

## Accessors

const String & | getPattern () const
| Get the expression pattern.
Size | countSubexpressions () const
| Count subexpressions.
bool | match (const String &text, Index from=0, int execute_flags=0) const
bool | match (const Substring &text, Index from=0, int execute_flags=0) const
bool | match (const char *text, int execute_flags=0) const
bool | find (const String &text, Substring &found, Index from=0, int execute_flags=0) const
bool | find (const String &text, vector< Substring > &subexpressions, Index from=0, int execute_flags=0) const
static bool | match (const char *text, const char *pattern, int compile_flags=0|REG_EXTENDED|REG_NOSUB, int execute_flags=0)

## Detailed Description

Regular expression class

Definition at line 29 of file regularExpression.h.

## Constructor & Destructor Documentation

## RegularExpression() [1/3]

BALL::RegularExpression::RegularExpression | ( |  | ) |

Default constructor.

## RegularExpression() [2/3]

BALL::RegularExpression::RegularExpression | ( | const RegularExpression & | regular_expression | ) |

Copy constructor.

## RegularExpression() [3/3]

BALL::RegularExpression::RegularExpression | ( | const String & | pattern,
|  | bool | wildcard_pattern = false )

## ~RegularExpression()

virtual BALL::RegularExpression::~RegularExpression | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## clear()

virtual void BALL::RegularExpression::clear | ( |  | ) |

virtual

Reset the object attributes to their default values.

## countSubexpressions()

Size BALL::RegularExpression::countSubexpressions | ( |  | ) | const

Count subexpressions.

## destroy()

void BALL::RegularExpression::destroy | ( |  | ) |

Destroy the instance.

## dump()

virtual void BALL::RegularExpression::dump | ( | std::ostream & | s = std::cout,
|  | Size | depth = 0 ) const

virtual

Dump this instance to an ostream depth is normaly just used for internal use.

Parameters

  s | the ostream, default is the standard output
  depth | the indentation depth of the output

## find() [1/2]

bool BALL::RegularExpression::find | ( | const String & | text,
|  | Substring & | found,
|  | Index | from = 0,
|  | int | execute_flags = 0 ) const

Find this expression in a string

Parameters

  from | index in the string to start the matching
  found | the result is stored as a substring here
  execute_flags | ?????

Exceptions

  Exception::IndexUnderflow | if from < 0
  Exception::IndexOverflow | if from >= text.size()

## find() [2/2]

bool BALL::RegularExpression::find | ( | const String & | text,
|  | vector< Substring > & | subexpressions,
|  | Index | from = 0,
|  | int | execute_flags = 0 ) const

Find this expression in a string

Parameters

  text | to process
  subexpressions | the results are stored here
  from | index in the string to start the matching
  execute_flags | ?????

Exceptions

  Exception::IndexUnderflow | if from < 0
  Exception::IndexOverflow | if from >= text.size()

## get()

void BALL::RegularExpression::get | ( | RegularExpression & | regular_expression | ) | const

Assign to another instance.

## getPattern()

const String & BALL::RegularExpression::getPattern | ( |  | ) | const

Get the expression pattern.

## isEmpty()

bool BALL::RegularExpression::isEmpty | ( |  | ) | const

Test if expression is empty.

## isValid()

virtual bool BALL::RegularExpression::isValid | ( |  | ) | const

virtual

Test if instance is valid.

## match() [1/4]

bool BALL::RegularExpression::match | ( | const char * | text,
|  | const char * | pattern,
|  | int | compile_flags = 0|REG_EXTENDED|REG_NOSUB,
|  | int | execute_flags = 0 )

static

Match a text with a given pattern.

Parameters

  text | to process
  pattern | to compare with
  compile_flags | ?????
  execute_flags | ?????

Exceptions

  NullPointer | if text or pattern are NULL

## match() [2/4]

bool BALL::RegularExpression::match | ( | const char * | text,
|  | int | execute_flags = 0 ) const

Match a C-String with this regular expression.

Parameters

  text | to process
  execute_flags | ?????

Exceptions

  NullPointer | if text is NULL

## match() [3/4]

bool BALL::RegularExpression::match | ( | const String & | text,
|  | Index | from = 0,
|  | int | execute_flags = 0 ) const

Match a text with this regular expression.

Parameters

  text | to process
  from | index in the string to start the matching
  execute_flags | ?????

Exceptions

  Exception::IndexUnderflow | if from < 0
  Exception::IndexOverflow | if from > text.size()

## match() [4/4]

bool BALL::RegularExpression::match | ( | const Substring & | text,
|  | Index | from = 0,
|  | int | execute_flags = 0 ) const

Match a substring with this regular expression.

Parameters

  text | to process
  from | index in the substring to start the matching
  execute_flags | ?????

Exceptions

  Exception::InvalidSubstring | if text is invalid
  Exception::IndexUnderflow | if from < 0
  Exception::IndexOverflow | if from > text.size()

## operator!=()

bool BALL::RegularExpression::operator!= | ( | const RegularExpression & | regular_expression | ) | const

Inequality operator

## operator<()

bool BALL::RegularExpression::operator< | ( | const RegularExpression & | regular_expression | ) | const

Less operator

## operator<=()

bool BALL::RegularExpression::operator<= | ( | const RegularExpression & | regular_expression | ) | const

Less or equal operator

## operator=()

RegularExpression & BALL::RegularExpression::operator= | ( | const RegularExpression & | expression | ) |

Assignment operator.

## operator==()

bool BALL::RegularExpression::operator== | ( | const RegularExpression & | regular_expression | ) | const

Equality operator

## operator>()

bool BALL::RegularExpression::operator> | ( | const RegularExpression & | regular_expression | ) | const

Greater operator

## operator>=()

bool BALL::RegularExpression::operator>= | ( | const RegularExpression & | regular_expression | ) | const

Greater or equal operator

## set() [1/2]

void BALL::RegularExpression::set | ( | const RegularExpression & | regular_expression | ) |

Assign from another instance.

## set() [2/2]

void BALL::RegularExpression::set | ( | const String & | pattern,
|  | bool | wildcard_pattern = false )

Assign from a string.

## Friends And Related Symbol Documentation

## operator<<

BALL_EXPORT friend std::ostream & operator<< | ( | std::ostream & | s,
|  | const RegularExpression & | regular_expression )

friend

output operator

## operator>>

BALL_EXPORT friend std::istream & operator>> | ( | std::istream & | s,
|  | RegularExpression & | regular_expression )

friend

input operator

## Member Data Documentation

## ALPHA

const String BALL::RegularExpression::ALPHA

static

alphabetic letters.

Definition at line 41 of file regularExpression.h.

## ALPHANUMERIC

const String BALL::RegularExpression::ALPHANUMERIC

static

alphanumeric letters

Definition at line 45 of file regularExpression.h.

## HEXADECIMAL_INTEGER

const String BALL::RegularExpression::HEXADECIMAL_INTEGER

static

hexadecimal and integer characters

Definition at line 61 of file regularExpression.h.

## IDENTIFIER

const String BALL::RegularExpression::IDENTIFIER

static

identifier characters

Definition at line 53 of file regularExpression.h.

## INTEGER

const String BALL::RegularExpression::INTEGER

static

integer characters

Definition at line 57 of file regularExpression.h.

## LOWERCASE

const String BALL::RegularExpression::LOWERCASE

static

lowercase letters

Definition at line 65 of file regularExpression.h.

## NON_ALPHA

const String BALL::RegularExpression::NON_ALPHA

static

non alphabetic characters

Definition at line 69 of file regularExpression.h.

## NON_ALPHANUMERIC

const String BALL::RegularExpression::NON_ALPHANUMERIC

static

non alphanumeric characters

Definition at line 73 of file regularExpression.h.

## NON_NUMERIC

const String BALL::RegularExpression::NON_NUMERIC

static

non numeric characters

Definition at line 77 of file regularExpression.h.

## NON_WHITESPACE

const String BALL::RegularExpression::NON_WHITESPACE

static

non whitespace charcters

Definition at line 81 of file regularExpression.h.

## REAL

const String BALL::RegularExpression::REAL

static

real numbers

Definition at line 49 of file regularExpression.h.

## UPPERCASE

const String BALL::RegularExpression::UPPERCASE

static

uppercase letters.

Definition at line 85 of file regularExpression.h.

## WHITESPACE

const String BALL::RegularExpression::WHITESPACE

static

whitespace characters.

Definition at line 89 of file regularExpression.h.