PCRE2 C++ Wrapper 1.2.4
pcre2cpp
Loading...
Searching...
No Matches
PCRE2 C++

Main group. More...

Collaboration diagram for PCRE2 C++:

Topics

 Utilities
 group with utilities (not for end user to use)

Classes

struct  pcre2cpp::basic_match_value< utf >
 Match value container. More...
struct  pcre2cpp::sub_match_value
 Sub match value container. More...
class  pcre2cpp::basic_match_result< utf >
 Basic container to result data of match function. More...
class  pcre2cpp::basic_regex< utf >
 Basic PCRE2 Regex container. More...

Macros

#define PCRE2CPP_VERSION_MAJOR   1
 pcre2cpp version major number
#define PCRE2CPP_VERSION_MINOR   2
 pcre2cpp version minor number
#define PCRE2CPP_VERSION_PATCH   4
 pcre2cpp version patch number
#define PCRE2CPP_VERSION_STRING    _PCRE2CPP_VERSION_TO_STRING(PCRE2CPP_VERSION_MAJOR, PCRE2CPP_VERSION_MINOR, PCRE2CPP_VERSION_PATCH)
 pcre2cpp version string
#define PCRE2CPP_VERSION_INT   _PCRE2CPP_VERSION_TO_INT(PCRE2CPP_VERSION_MAJOR, PCRE2CPP_VERSION_MINOR, PCRE2CPP_VERSION_PATCH)
 pcre2cpp version int
#define PCRE2CPP_VERSION   PCRE2CPP_VERSION_STRING
 pcre2cpp version string
#define PCRE2CPP_LAST_UPDATE_DAY   07
 pcre2cpp last update day
#define PCRE2CPP_LAST_UPDATE_MONTH   04
 pcre2cpp last update month
#define PCRE2CPP_LAST_UPDATE_YEAR   2026
 pcre2cpp last update year
#define PCRE2CPP_LAST_UPDATE_DATE    _PCRE2CPP_LAST_UPDATE_DATE_HELPER(PCRE2CPP_LAST_UPDATE_DAY, PCRE2CPP_LAST_UPDATE_MONTH, PCRE2CPP_LAST_UPDATE_YEAR)
 pcre2cpp last update date string
#define PCRE2CPP_VERSION_MAJOR   1
 pcre2cpp version major number
#define PCRE2CPP_VERSION_MINOR   2
 pcre2cpp version minor number
#define PCRE2CPP_VERSION_PATCH   4
 pcre2cpp version patch number
#define PCRE2CPP_VERSION_STRING    _PCRE2CPP_VERSION_TO_STRING(PCRE2CPP_VERSION_MAJOR, PCRE2CPP_VERSION_MINOR, PCRE2CPP_VERSION_PATCH)
 pcre2cpp version string
#define PCRE2CPP_VERSION_INT   _PCRE2CPP_VERSION_TO_INT(PCRE2CPP_VERSION_MAJOR, PCRE2CPP_VERSION_MINOR, PCRE2CPP_VERSION_PATCH)
 pcre2cpp version int
#define PCRE2CPP_VERSION   PCRE2CPP_VERSION_STRING
 pcre2cpp version string
#define PCRE2CPP_LAST_UPDATE_DAY   07
 pcre2cpp last update day
#define PCRE2CPP_LAST_UPDATE_MONTH   04
 pcre2cpp last update month
#define PCRE2CPP_LAST_UPDATE_YEAR   2026
 pcre2cpp last update year
#define PCRE2CPP_LAST_UPDATE_DATE    _PCRE2CPP_LAST_UPDATE_DATE_HELPER(PCRE2CPP_LAST_UPDATE_DAY, PCRE2CPP_LAST_UPDATE_MONTH, PCRE2CPP_LAST_UPDATE_YEAR)
 pcre2cpp last update date string

Typedefs

using pcre2cpp::match_options = mstd::flags<match_options_bits>
 Match options flags group.
using pcre2cpp::compile_options = mstd::flags<compile_options_bits>
 Compile options flags group.

Enumerations

enum class  pcre2cpp::utf_type : uint8_t { pcre2cpp::utf_type::UTF_8 = 8 , pcre2cpp::utf_type::UTF_16 = 16 , pcre2cpp::utf_type::UTF_32 = 32 }
 Enum with supported utf types. More...
enum class  pcre2cpp::match_options_bits : uint32_t {
  pcre2cpp::match_options_bits::None = 0u , pcre2cpp::match_options_bits::Anchored = PCRE2_ANCHORED , pcre2cpp::match_options_bits::CopyMatchedSubject = PCRE2_COPY_MATCHED_SUBJECT , pcre2cpp::match_options_bits::DisableRecurseLoopCheck = PCRE2_DISABLE_RECURSELOOP_CHECK ,
  pcre2cpp::match_options_bits::EndAnchored = PCRE2_ENDANCHORED , pcre2cpp::match_options_bits::NotBOL = PCRE2_NOTBOL , pcre2cpp::match_options_bits::NotEOL = PCRE2_NOTEOL , pcre2cpp::match_options_bits::NotEmpty = PCRE2_NOTEMPTY ,
  pcre2cpp::match_options_bits::NotEmptyAtStart = PCRE2_NOTEMPTY_ATSTART , pcre2cpp::match_options_bits::NoJIT = PCRE2_NO_JIT , pcre2cpp::match_options_bits::NoUTFCheck = PCRE2_NO_UTF_CHECK , pcre2cpp::match_options_bits::PartialHard = PCRE2_PARTIAL_HARD ,
  pcre2cpp::match_options_bits::PartialSoft = PCRE2_PARTIAL_SOFT
}
 Match options. More...
enum class  pcre2cpp::compile_options_bits : uint32_t {
  pcre2cpp::compile_options_bits::None = 0u , pcre2cpp::compile_options_bits::Anchored = PCRE2_ANCHORED , pcre2cpp::compile_options_bits::AllowEmptyClass = PCRE2_ALLOW_EMPTY_CLASS , pcre2cpp::compile_options_bits::AltBSUX = PCRE2_ALT_BSUX ,
  pcre2cpp::compile_options_bits::AltCircumflex = PCRE2_ALT_CIRCUMFLEX , pcre2cpp::compile_options_bits::AltVerbNames = PCRE2_ALT_VERBNAMES , pcre2cpp::compile_options_bits::AutoCallout = PCRE2_AUTO_CALLOUT , pcre2cpp::compile_options_bits::Caseless = PCRE2_CASELESS ,
  pcre2cpp::compile_options_bits::DollarEndonly = PCRE2_DOLLAR_ENDONLY , pcre2cpp::compile_options_bits::DotAll = PCRE2_DOTALL , pcre2cpp::compile_options_bits::DupNames = PCRE2_DUPNAMES , pcre2cpp::compile_options_bits::EndAnchored = PCRE2_ENDANCHORED ,
  pcre2cpp::compile_options_bits::Extended = PCRE2_EXTENDED , pcre2cpp::compile_options_bits::FirstLine = PCRE2_FIRSTLINE , pcre2cpp::compile_options_bits::Literal = PCRE2_LITERAL , pcre2cpp::compile_options_bits::MatchInvalidUTF = PCRE2_MATCH_INVALID_UTF ,
  pcre2cpp::compile_options_bits::MatchUnsetBackRef = PCRE2_MATCH_UNSET_BACKREF , pcre2cpp::compile_options_bits::Multiline = PCRE2_MULTILINE , pcre2cpp::compile_options_bits::NeverBackslashC = PCRE2_NEVER_BACKSLASH_C , pcre2cpp::compile_options_bits::NeverUCP = PCRE2_NEVER_UCP ,
  pcre2cpp::compile_options_bits::NeverUTF = PCRE2_NEVER_UTF , pcre2cpp::compile_options_bits::NoAutoCapture = PCRE2_NO_AUTO_CAPTURE , pcre2cpp::compile_options_bits::NoAutoPossess = PCRE2_NO_AUTO_POSSESS , pcre2cpp::compile_options_bits::NoDotStarAnchor = PCRE2_NO_DOTSTAR_ANCHOR ,
  pcre2cpp::compile_options_bits::NoStartOptimize = PCRE2_NO_START_OPTIMIZE , pcre2cpp::compile_options_bits::NoUTFCheck = PCRE2_NO_UTF_CHECK , pcre2cpp::compile_options_bits::UCP = PCRE2_UCP , pcre2cpp::compile_options_bits::UnGreedy = PCRE2_UNGREEDY ,
  pcre2cpp::compile_options_bits::UseOffsetLimit = PCRE2_USE_OFFSET_LIMIT , pcre2cpp::compile_options_bits::UTF = PCRE2_UTF
}
 Compile options. More...

Detailed Description

Main group.

Macro Definition Documentation

◆ PCRE2CPP_LAST_UPDATE_DATE [1/2]

◆ PCRE2CPP_LAST_UPDATE_DATE [2/2]

◆ PCRE2CPP_LAST_UPDATE_DAY [1/2]

#define PCRE2CPP_LAST_UPDATE_DAY   07

pcre2cpp last update day

◆ PCRE2CPP_LAST_UPDATE_DAY [2/2]

#define PCRE2CPP_LAST_UPDATE_DAY   07

pcre2cpp last update day

◆ PCRE2CPP_LAST_UPDATE_MONTH [1/2]

#define PCRE2CPP_LAST_UPDATE_MONTH   04

pcre2cpp last update month

◆ PCRE2CPP_LAST_UPDATE_MONTH [2/2]

#define PCRE2CPP_LAST_UPDATE_MONTH   04

pcre2cpp last update month

◆ PCRE2CPP_LAST_UPDATE_YEAR [1/2]

#define PCRE2CPP_LAST_UPDATE_YEAR   2026

pcre2cpp last update year

◆ PCRE2CPP_LAST_UPDATE_YEAR [2/2]

#define PCRE2CPP_LAST_UPDATE_YEAR   2026

pcre2cpp last update year

◆ PCRE2CPP_VERSION [1/2]

#define PCRE2CPP_VERSION   PCRE2CPP_VERSION_STRING

pcre2cpp version string

◆ PCRE2CPP_VERSION [2/2]

#define PCRE2CPP_VERSION   PCRE2CPP_VERSION_STRING

pcre2cpp version string

◆ PCRE2CPP_VERSION_INT [1/2]

◆ PCRE2CPP_VERSION_INT [2/2]

◆ PCRE2CPP_VERSION_MAJOR [1/2]

#define PCRE2CPP_VERSION_MAJOR   1

pcre2cpp version major number

◆ PCRE2CPP_VERSION_MAJOR [2/2]

#define PCRE2CPP_VERSION_MAJOR   1

pcre2cpp version major number

◆ PCRE2CPP_VERSION_MINOR [1/2]

#define PCRE2CPP_VERSION_MINOR   2

pcre2cpp version minor number

◆ PCRE2CPP_VERSION_MINOR [2/2]

#define PCRE2CPP_VERSION_MINOR   2

pcre2cpp version minor number

◆ PCRE2CPP_VERSION_PATCH [1/2]

#define PCRE2CPP_VERSION_PATCH   4

pcre2cpp version patch number

◆ PCRE2CPP_VERSION_PATCH [2/2]

#define PCRE2CPP_VERSION_PATCH   4

pcre2cpp version patch number

◆ PCRE2CPP_VERSION_STRING [1/2]

◆ PCRE2CPP_VERSION_STRING [2/2]

Typedef Documentation

◆ compile_options

Compile options flags group.

◆ match_options

Match options flags group.

Enumeration Type Documentation

◆ compile_options_bits

enum class pcre2cpp::compile_options_bits : uint32_t
strong

Compile options.

Enumerator
None 

No options set (default).

Anchored 

Force pattern anchoring.

AllowEmptyClass 

Allow empty classes.

AltBSUX 

Alternative handling of \u, \U, and \x.

AltCircumflex 

Alternative handling of ^ in multiline mode.

AltVerbNames 

Process backslashes in verb names.

AutoCallout 

Compile automatic callouts.

Caseless 

Do caseless matching.

DollarEndonly 

$ not to match newline at end

DotAll 

. matches anything including NL

DupNames 

Allow duplicate names for subpatterns.

EndAnchored 

Pattern can match only at end of subject.

Extended 

Ignore white space and # comments.

FirstLine 

Force matching to be before newline.

Literal 

Pattern characters are all literal.

MatchInvalidUTF 

Enable support for matching invalid UTF.

MatchUnsetBackRef 

Match unset backreferences.

Multiline 

^ and $ match newlines within data

NeverBackslashC 

Lock out the use of \C in patterns.

NeverUCP 

Lock out PCRE2_UCP, e.g.via(*UCP).

NeverUTF 

Lock out PCRE2_UTF, e.g.via(*UTF).

NoAutoCapture 

Disable numbered capturing paren - theses(named ones available).

NoAutoPossess 

Disable auto - possessification.

NoDotStarAnchor 

Disable automatic anchoring for .*.

NoStartOptimize 

Disable match - time start optimizations.

NoUTFCheck 

Do not check the pattern for UTF validity (only relevant if PCRE2_UTF is set).

UCP 

Use Unicode properties for \d, \w, etc.

UnGreedy 

Invert greediness of quantifiers.

UseOffsetLimit 

Enable offset limit for unanchored matching.

UTF 

Treat pattern and subjects as UTF strings.

◆ match_options_bits

enum class pcre2cpp::match_options_bits : uint32_t
strong

Match options.

Enumerator
None 

No options set (default).

Anchored 

Match only at the first position.

CopyMatchedSubject 

On success, make a private subject copy.

DisableRecurseLoopCheck 

Only useful in rare cases; use with care.

EndAnchored 

Pattern can match only at end of subject.

NotBOL 

Subject string is not the beginning of a line.

NotEOL 

Subject string is not the end of a line.

NotEmpty 

An empty string is not a valid match.

NotEmptyAtStart 

An empty string at the start of the subject is not a valid match.

NoJIT 

Do not use JIT matching.

NoUTFCheck 

Do not check the subject for UTF validity(only relevant if compile_options::UTF was set at compile time).

PartialHard 

Return match_error_codes::Partial for a partial match even if there is a full match.

PartialSoft 

Return match_error_codes::Partial for a partial match if no full matches are found.

◆ utf_type

enum class pcre2cpp::utf_type : uint8_t
strong

Enum with supported utf types.

Enumerator
UTF_8 
UTF_16 
UTF_32