355 |
// along with other options we put on top of pcre. |
// along with other options we put on top of pcre. |
356 |
// Only 9 modifiers, plus match_limit and match_limit_recursion, |
// Only 9 modifiers, plus match_limit and match_limit_recursion, |
357 |
// are supported now. |
// are supported now. |
358 |
class PCRECPP_EXP_DECL RE_Options { |
class PCRECPP_EXP_DEFN RE_Options { |
359 |
public: |
public: |
360 |
// constructor |
// constructor |
361 |
RE_Options() : match_limit_(0), match_limit_recursion_(0), all_options_(0) {} |
RE_Options() : match_limit_(0), match_limit_recursion_(0), all_options_(0) {} |
487 |
// Interface for regular expression matching. Also corresponds to a |
// Interface for regular expression matching. Also corresponds to a |
488 |
// pre-compiled regular expression. An "RE" object is safe for |
// pre-compiled regular expression. An "RE" object is safe for |
489 |
// concurrent use by multiple threads. |
// concurrent use by multiple threads. |
490 |
class PCRECPP_EXP_DECL RE { |
class PCRECPP_EXP_DEFN RE { |
491 |
public: |
public: |
492 |
// We provide implicit conversions from strings so that users can |
// We provide implicit conversions from strings so that users can |
493 |
// pass in a string or a "const char*" wherever an "RE" is expected. |
// pass in a string or a "const char*" wherever an "RE" is expected. |
|
RE(const char* pat) { Init(pat, NULL); } |
|
|
RE(const char *pat, const RE_Options& option) { Init(pat, &option); } |
|
494 |
RE(const string& pat) { Init(pat, NULL); } |
RE(const string& pat) { Init(pat, NULL); } |
495 |
RE(const string& pat, const RE_Options& option) { Init(pat, &option); } |
RE(const string& pat, const RE_Options& option) { Init(pat, &option); } |
496 |
|
RE(const char* pat) { Init(pat, NULL); } |
497 |
|
RE(const char* pat, const RE_Options& option) { Init(pat, &option); } |
498 |
|
RE(const unsigned char* pat) { |
499 |
|
Init(reinterpret_cast<const char*>(pat), NULL); |
500 |
|
} |
501 |
|
RE(const unsigned char* pat, const RE_Options& option) { |
502 |
|
Init(reinterpret_cast<const char*>(pat), &option); |
503 |
|
} |
504 |
|
|
505 |
// Copy constructor & assignment - note that these are expensive |
// Copy constructor & assignment - note that these are expensive |
506 |
// because they recompile the expression. |
// because they recompile the expression. |