| 346 |
#define PCRE_IS_SET(o) \ |
#define PCRE_IS_SET(o) \ |
| 347 |
(all_options_ & o) == o |
(all_options_ & o) == o |
| 348 |
|
|
|
// We convert user-passed pointers into special Arg objects |
|
|
PCRECPP_EXP_DECL Arg no_arg; |
|
|
|
|
| 349 |
/***** Compiling regular expressions: the RE class *****/ |
/***** Compiling regular expressions: the RE class *****/ |
| 350 |
|
|
| 351 |
// RE_Options allow you to set options to be passed along to pcre, |
// RE_Options allow you to set options to be passed along to pcre, |
| 400 |
return PCRE_IS_SET(PCRE_DOTALL); |
return PCRE_IS_SET(PCRE_DOTALL); |
| 401 |
} |
} |
| 402 |
RE_Options &set_dotall(bool x) { |
RE_Options &set_dotall(bool x) { |
| 403 |
PCRE_SET_OR_CLEAR(x,PCRE_DOTALL); |
PCRE_SET_OR_CLEAR(x, PCRE_DOTALL); |
| 404 |
} |
} |
| 405 |
|
|
| 406 |
bool extended() const { |
bool extended() const { |
| 407 |
return PCRE_IS_SET(PCRE_EXTENDED); |
return PCRE_IS_SET(PCRE_EXTENDED); |
| 408 |
} |
} |
| 409 |
RE_Options &set_extended(bool x) { |
RE_Options &set_extended(bool x) { |
| 410 |
PCRE_SET_OR_CLEAR(x,PCRE_EXTENDED); |
PCRE_SET_OR_CLEAR(x, PCRE_EXTENDED); |
| 411 |
} |
} |
| 412 |
|
|
| 413 |
bool dollar_endonly() const { |
bool dollar_endonly() const { |
| 414 |
return PCRE_IS_SET(PCRE_DOLLAR_ENDONLY); |
return PCRE_IS_SET(PCRE_DOLLAR_ENDONLY); |
| 415 |
} |
} |
| 416 |
RE_Options &set_dollar_endonly(bool x) { |
RE_Options &set_dollar_endonly(bool x) { |
| 417 |
PCRE_SET_OR_CLEAR(x,PCRE_DOLLAR_ENDONLY); |
PCRE_SET_OR_CLEAR(x, PCRE_DOLLAR_ENDONLY); |
| 418 |
} |
} |
| 419 |
|
|
| 420 |
bool extra() const { |
bool extra() const { |
| 421 |
return PCRE_IS_SET( PCRE_EXTRA); |
return PCRE_IS_SET(PCRE_EXTRA); |
| 422 |
} |
} |
| 423 |
RE_Options &set_extra(bool x) { |
RE_Options &set_extra(bool x) { |
| 424 |
PCRE_SET_OR_CLEAR(x, PCRE_EXTRA); |
PCRE_SET_OR_CLEAR(x, PCRE_EXTRA); |
| 620 |
// 1.5-2.0? |
// 1.5-2.0? |
| 621 |
// may become: |
// may become: |
| 622 |
// 1\.5\-2\.0\? |
// 1\.5\-2\.0\? |
| 623 |
|
// Note QuoteMeta behaves the same as perl's QuoteMeta function, |
| 624 |
|
// *except* that it escapes the NUL character (\0) as backslash + 0, |
| 625 |
|
// rather than backslash + NUL. |
| 626 |
static string QuoteMeta(const StringPiece& unquoted); |
static string QuoteMeta(const StringPiece& unquoted); |
| 627 |
|
|
| 628 |
|
|
| 646 |
// regexp wasn't valid on construction. |
// regexp wasn't valid on construction. |
| 647 |
int NumberOfCapturingGroups() const; |
int NumberOfCapturingGroups() const; |
| 648 |
|
|
| 649 |
|
// The default value for an argument, to indicate the end of the argument |
| 650 |
|
// list. This must be used only in optional argument defaults. It should NOT |
| 651 |
|
// be passed explicitly. Some people have tried to use it like this: |
| 652 |
|
// |
| 653 |
|
// FullMatch(x, y, &z, no_arg, &w); |
| 654 |
|
// |
| 655 |
|
// This is a mistake, and will not work. |
| 656 |
|
static Arg no_arg; |
| 657 |
|
|
| 658 |
private: |
private: |
| 659 |
|
|
| 660 |
void Init(const string& pattern, const RE_Options* options); |
void Init(const string& pattern, const RE_Options* options); |