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);
137 const
String& getPattern() const;
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;
169 bool match(const
Substring& 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;
256 friend std::ostream& operator << (std::ostream& s, const
RegularExpression& regular_expression);
261 friend std::istream& operator >> (std::istream& s,
RegularExpression& regular_expression);
267 void compilePattern_();
269 void toExtendedRegularExpression_();
277 # ifndef BALL_NO_INLINE_FUNCTIONS
278 # include <BALL/DATATYPE/regularExpression.iC>
282 #endif // BALL_DATATYPE_REGULAREXPRESSION_H