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();
120 RegularExpression& operator = (const RegularExpression& expression);
123 void set(const RegularExpression& regular_expression);
126 void set(const
String& pattern,
bool wildcard_pattern = false);
129 void get(RegularExpression& regular_expression) const;
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;
210 bool operator == (const RegularExpression& regular_expression) const;
214 bool operator != (const RegularExpression& regular_expression) const;
218 bool operator < (const RegularExpression& regular_expression) const;
222 bool operator <= (const RegularExpression& regular_expression) const;
226 bool operator >= (const RegularExpression& regular_expression) const;
230 bool operator > (const RegularExpression& regular_expression) 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
#define BALL_CREATE(name)