Exec-time and get/set-time error codesSpecific error codes for UTF-8 validity checksSpecific error codes for UTF-16 validity checksSpecific error codes for UTF-32 validity checksRequest types for pcre_fullinfo()Request types for pcre_config(). Do not re-arrange, in order to remain compatible.Request types for pcre_study(). Do not re-arrange, in order to remain compatible.Bit flags for the pcre[16|32]_extra structure. Do not re-arrange or redefine these bits, just add new ones on the end, in order to remain compatible.TypesThe structure for passing additional data to pcre_exec(). This is defined in such as way as to be extensible. Always add new fields at the end, in order to remain compatible.The structure for passing out data via the pcre_callout_function. We use a structure so that new fields can be added on the end in future versions, without changing the API of the function, thereby allowing old clients to work without modification.User defined callback which provides a stack just before the match starts.
Types
Pcre = object
- Source
Pcre16 = object
- Source
Pcre32 = object
- Source
JitStack = object
- Source
JitStack16 = object
- Source
JitStack32 = object
- Source
ExtraData = object flags*: clong study_data*: pointer ## Opaque data from pcre_study() match_limit*: clong ## Maximum number of calls to match() callout_data*: pointer ## Data passed back in callouts tables*: pointer ## Pointer to character tables match_limit_recursion*: clong ## Max recursive calls to match() mark*: pointer ## For passing back a mark pointer executable_jit*: pointer ## Contains a pointer to a compiled jit code
- Bits for which fields are set Source
CalloutBlock = object version*: cint callout_number*: cint ## Number compiled into pattern offset_vector*: ptr cint ## The offset vector subject*: cstring ## The subject being matched subject_length*: cint ## The length of the subject start_match*: cint ## Offset to start of this match attempt current_position*: cint ## Where we currently are in the subject capture_top*: cint ## Max current capture capture_last*: cint ## Most recently closed capture callout_data*: pointer ## Data passed in with the call pattern_position*: cint ## Offset to next item in the pattern next_item_length*: cint ## Length of next item in the pattern mark*: pointer ## Pointer to current mark or NULL
- Identifies version of block Source
JitCallback = proc (a: pointer): ptr JitStack {.cdecl.}
- Source
PPcre = ptr Pcre
- Source
PJitStack = ptr JitStack
- Source
Consts
PCRE_MAJOR = 8
- Source
PCRE_MINOR = 36
- Source
PCRE_PRERELEASE = true
- Source
PCRE_DATE = "2014-09-26"
- Source
CASELESS = 0x00000001
- Source
MULTILINE = 0x00000002
- Source
DOTALL = 0x00000004
- Source
EXTENDED = 0x00000008
- Source
ANCHORED = 0x00000010
- Source
DOLLAR_ENDONLY = 0x00000020
- Source
EXTRA = 0x00000040
- Source
NOTBOL = 0x00000080
- Source
NOTEOL = 0x00000100
- Source
UNGREEDY = 0x00000200
- Source
NOTEMPTY = 0x00000400
- Source
UTF8 = 0x00000800
- Source
UTF16 = 0x00000800
- Source
UTF32 = 0x00000800
- Source
NO_AUTO_CAPTURE = 0x00001000
- Source
NO_UTF8_CHECK = 0x00002000
- Source
NO_UTF16_CHECK = 0x00002000
- Source
NO_UTF32_CHECK = 0x00002000
- Source
AUTO_CALLOUT = 0x00004000
- Source
PARTIAL_SOFT = 0x00008000
- Source
PARTIAL = 0x00008000
- Source
NEVER_UTF = 0x00010000
- Source
DFA_SHORTEST = 0x00010000
- Source
NO_AUTO_POSSESS = 0x00020000
- Source
DFA_RESTART = 0x00020000
- Source
FIRSTLINE = 0x00040000
- Source
DUPNAMES = 0x00080000
- Source
NEWLINE_CR = 0x00100000
- Source
NEWLINE_LF = 0x00200000
- Source
NEWLINE_CRLF = 0x00300000
- Source
NEWLINE_ANY = 0x00400000
- Source
NEWLINE_ANYCRLF = 0x00500000
- Source
BSR_ANYCRLF = 0x00800000
- Source
BSR_UNICODE = 0x01000000
- Source
JAVASCRIPT_COMPAT = 0x02000000
- Source
NO_START_OPTIMIZE = 0x04000000
- Source
NO_START_OPTIMISE = 0x04000000
- Source
PARTIAL_HARD = 0x08000000
- Source
NOTEMPTY_ATSTART = 0x10000000
- Source
UCP = 0x20000000
- Source
ERROR_NOMATCH = -1
- Source
ERROR_NULL = -2
- Source
ERROR_BADOPTION = -3
- Source
ERROR_BADMAGIC = -4
- Source
ERROR_UNKNOWN_OPCODE = -5
- Source
ERROR_UNKNOWN_NODE = -5
- For backward compatibility Source
ERROR_NOMEMORY = -6
- Source
ERROR_NOSUBSTRING = -7
- Source
ERROR_MATCHLIMIT = -8
- Source
ERROR_CALLOUT = -9
- Never used by PCRE itself Source
ERROR_BADUTF8 = -10
- Same for 8/16/32 Source
ERROR_BADUTF16 = -10
- Same for 8/16/32 Source
ERROR_BADUTF32 = -10
- Same for 8/16/32 Source
ERROR_BADUTF8_OFFSET = -11
- Same for 8/16 Source
ERROR_BADUTF16_OFFSET = -11
- Same for 8/16 Source
ERROR_PARTIAL = -12
- Source
ERROR_BADPARTIAL = -13
- Source
ERROR_INTERNAL = -14
- Source
ERROR_BADCOUNT = -15
- Source
ERROR_DFA_UITEM = -16
- Source
ERROR_DFA_UCOND = -17
- Source
ERROR_DFA_UMLIMIT = -18
- Source
ERROR_DFA_WSSIZE = -19
- Source
ERROR_DFA_RECURSE = -20
- Source
ERROR_RECURSIONLIMIT = -21
- Source
ERROR_NULLWSLIMIT = -22
- No longer actually used Source
ERROR_BADNEWLINE = -23
- Source
ERROR_BADOFFSET = -24
- Source
ERROR_SHORTUTF8 = -25
- Source
ERROR_SHORTUTF16 = -25
- Same for 8/16 Source
ERROR_RECURSELOOP = -26
- Source
ERROR_JIT_STACKLIMIT = -27
- Source
ERROR_BADMODE = -28
- Source
ERROR_BADENDIANNESS = -29
- Source
ERROR_DFA_BADRESTART = -30
- Source
ERROR_JIT_BADOPTION = -31
- Source
ERROR_BADLENGTH = -32
- Source
ERROR_UNSET = -33
- Source
UTF8_ERR0 = 0
- Source
UTF8_ERR1 = 1
- Source
UTF8_ERR2 = 2
- Source
UTF8_ERR3 = 3
- Source
UTF8_ERR4 = 4
- Source
UTF8_ERR5 = 5
- Source
UTF8_ERR6 = 6
- Source
UTF8_ERR7 = 7
- Source
UTF8_ERR8 = 8
- Source
UTF8_ERR9 = 9
- Source
UTF8_ERR10 = 10
- Source
UTF8_ERR11 = 11
- Source
UTF8_ERR12 = 12
- Source
UTF8_ERR13 = 13
- Source
UTF8_ERR14 = 14
- Source
UTF8_ERR15 = 15
- Source
UTF8_ERR16 = 16
- Source
UTF8_ERR17 = 17
- Source
UTF8_ERR18 = 18
- Source
UTF8_ERR19 = 19
- Source
UTF8_ERR20 = 20
- Source
UTF8_ERR21 = 21
- Source
UTF8_ERR22 = 22
- Source
UTF16_ERR0 = 0
- Source
UTF16_ERR1 = 1
- Source
UTF16_ERR2 = 2
- Source
UTF16_ERR3 = 3
- Source
UTF16_ERR4 = 4
- Source
UTF32_ERR0 = 0
- Source
UTF32_ERR1 = 1
- Source
UTF32_ERR2 = 2
- Source
UTF32_ERR3 = 3
- Source
INFO_OPTIONS = 0
- Source
INFO_SIZE = 1
- Source
INFO_CAPTURECOUNT = 2
- Source
INFO_BACKREFMAX = 3
- Source
INFO_FIRSTBYTE = 4
- Source
INFO_FIRSTCHAR = 4
- For backwards compatibility Source
INFO_FIRSTTABLE = 5
- Source
INFO_LASTLITERAL = 6
- Source
INFO_NAMEENTRYSIZE = 7
- Source
INFO_NAMECOUNT = 8
- Source
INFO_NAMETABLE = 9
- Source
INFO_STUDYSIZE = 10
- Source
INFO_DEFAULT_TABLES = 11
- Source
INFO_OKPARTIAL = 12
- Source
INFO_JCHANGED = 13
- Source
INFO_HASCRORLF = 14
- Source
INFO_MINLENGTH = 15
- Source
INFO_JIT = 16
- Source
INFO_JITSIZE = 17
- Source
INFO_MAXLOOKBEHIND = 18
- Source
INFO_FIRSTCHARACTER = 19
- Source
INFO_FIRSTCHARACTERFLAGS = 20
- Source
INFO_REQUIREDCHAR = 21
- Source
INFO_REQUIREDCHARFLAGS = 22
- Source
INFO_MATCHLIMIT = 23
- Source
INFO_RECURSIONLIMIT = 24
- Source
INFO_MATCH_EMPTY = 25
- Source
CONFIG_UTF8 = 0
- Source
CONFIG_NEWLINE = 1
- Source
CONFIG_LINK_SIZE = 2
- Source
CONFIG_POSIX_MALLOC_THRESHOLD = 3
- Source
CONFIG_MATCH_LIMIT = 4
- Source
CONFIG_STACKRECURSE = 5
- Source
CONFIG_UNICODE_PROPERTIES = 6
- Source
CONFIG_MATCH_LIMIT_RECURSION = 7
- Source
CONFIG_BSR = 8
- Source
CONFIG_JIT = 9
- Source
CONFIG_UTF16 = 10
- Source
CONFIG_JITTARGET = 11
- Source
CONFIG_UTF32 = 12
- Source
CONFIG_PARENS_LIMIT = 13
- Source
STUDY_JIT_COMPILE = 0x00000001
- Source
STUDY_JIT_PARTIAL_SOFT_COMPILE = 0x00000002
- Source
STUDY_JIT_PARTIAL_HARD_COMPILE = 0x00000004
- Source
STUDY_EXTRA_NEEDED = 0x00000008
- Source
EXTRA_STUDY_DATA = 0x00000001
- Source
EXTRA_MATCH_LIMIT = 0x00000002
- Source
EXTRA_CALLOUT_DATA = 0x00000004
- Source
EXTRA_TABLES = 0x00000008
- Source
EXTRA_MATCH_LIMIT_RECURSION = 0x00000010
- Source
EXTRA_MARK = 0x00000020
- Source
EXTRA_EXECUTABLE_JIT = 0x00000040
- Source
Procs
proc compile(pattern: cstring; options: cint; errptr: ptr cstring; erroffset: ptr cint; tableptr: pointer): ptr Pcre
- Source
proc compile2(pattern: cstring; options: cint; errorcodeptr: ptr cint; errptr: ptr cstring; erroffset: ptr cint; tableptr: pointer): ptr Pcre
- Source
proc config(what: cint; where: pointer): cint
- Source
proc copy_named_substring(code: ptr Pcre; subject: cstring; ovector: ptr cint; stringcount: cint; stringname: cstring; buffer: cstring; buffersize: cint): cint
- Source
proc copy_substring(subject: cstring; ovector: ptr cint; stringcount: cint; stringnumber: cint; buffer: cstring; buffersize: cint): cint
- Source
proc dfa_exec(code: ptr Pcre; extra: ptr ExtraData; subject: cstring; length: cint; startoffset: cint; options: cint; ovector: ptr cint; ovecsize: cint; workspace: ptr cint; wscount: cint): cint
- Source
proc exec(code: ptr Pcre; extra: ptr ExtraData; subject: cstring; length: cint; startoffset: cint; options: cint; ovector: ptr cint; ovecsize: cint): cint
- Source
proc jit_exec(code: ptr Pcre; extra: ptr ExtraData; subject: cstring; length: cint; startoffset: cint; options: cint; ovector: ptr cint; ovecsize: cint; jstack: ptr JitStack): cint
- Source
proc free_substring(stringptr: cstring)
- Source
proc free_substring_list(stringptr: cstringArray)
- Source
proc fullinfo(code: ptr Pcre; extra: ptr ExtraData; what: cint; where: pointer): cint
- Source
proc get_named_substring(code: ptr Pcre; subject: cstring; ovector: ptr cint; stringcount: cint; stringname: cstring; stringptr: cstringArray): cint
- Source
proc get_stringnumber(code: ptr Pcre; name: cstring): cint
- Source
proc get_stringtable_entries(code: ptr Pcre; name: cstring; first: cstringArray; last: cstringArray): cint
- Source
proc get_substring(subject: cstring; ovector: ptr cint; stringcount: cint; stringnumber: cint; stringptr: cstringArray): cint
- Source
proc get_substring_list(subject: cstring; ovector: ptr cint; stringcount: cint; listptr: ptr cstringArray): cint
- Source
proc maketables(): pointer
- Source
proc refcount(code: ptr Pcre; adjust: cint): cint
- Source
proc study(code: ptr Pcre; options: cint; errptr: ptr cstring): ptr ExtraData
- Source
proc free_study(extra: ptr ExtraData)
- Source
proc version(): cstring
- Source
proc pattern_to_host_byte_order(code: ptr Pcre; extra: ptr ExtraData; tables: pointer): cint
- Source
proc jit_stack_alloc(startsize: cint; maxsize: cint): ptr JitStack
- Source
proc jit_stack_free(stack: ptr JitStack)
- Source
proc assign_jit_stack(extra: ptr ExtraData; callback: JitCallback; data: pointer)
- Source
proc jit_free_unused_memory()
- Source
proc study(code: ptr Pcre; options: cint; errptr: var cstring): ptr ExtraData {. deprecated.}
- Source