5#ifndef BALL_DATATYPE_REGULAREXPRESSION_H
6#define BALL_DATATYPE_REGULAREXPRESSION_H
12#include <boost/regex.h>
14#if !defined(__GNUC__) && !defined(__KAI__) && defined(IRIX)
15# pragma reset woff 1174
18#ifndef BALL_DATATYPE_STRING_H
22#define BALL_REGULAR_EXPRESSION_DEFAULT_PATTERN ""
61 static const
String HEXADECIMAL_INTEGER;
73 static const
String NON_ALPHANUMERIC;
109 virtual
void clear();
126 void set(const
String& pattern,
bool wildcard_pattern = false);
140 Size countSubexpressions() const;
149 static
bool match(const
char* text, const
char* pattern,
150 int compile_flags = 0 | REG_EXTENDED | REG_NOSUB,
int execute_flags = 0);
159 bool match(const
String& text,
Index from = 0,
int execute_flags = 0) const;
176 bool match(const
char* text,
int execute_flags = 0) const;
186 Index from = 0,
int execute_flags = 0) const;
197 Index from = 0,
int execute_flags = 0) const;
206 bool isEmpty() const;
239 virtual
bool isValid() const;
246 virtual
void dump(
std::ostream& s =
std::cout,
Size depth = 0) const;
267 void compilePattern_();
269 void toExtendedRegularExpression_();
277# ifndef BALL_NO_INLINE_FUNCTIONS
278# include <BALL/DATATYPE/regularExpression.iC>
#define BALL_CREATE(name)