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 Edit
Pcre16 = object
- Source Edit
Pcre32 = object
- Source Edit
JitStack = object
- Source Edit
JitStack16 = object
- Source Edit
JitStack32 = object
- Source Edit
ExtraData = object flags*: clong ## Bits for which fields are set 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
- Source Edit
CalloutBlock = object version*: cint ## Identifies version of block 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
- Source Edit
JitCallback = proc (a: pointer): ptr JitStack {...}{.cdecl.}
- Source Edit
PPcre {...}{.deprecated.} = ptr Pcre
- Source Edit
PJitStack {...}{.deprecated.} = ptr JitStack
- Source Edit
Consts
PCRE_MAJOR = 8
- Source Edit
PCRE_MINOR = 36
- Source Edit
PCRE_PRERELEASE = true
- Source Edit
PCRE_DATE = "2014-09-26"
- Source Edit
CASELESS = 0x00000001
- Source Edit
MULTILINE = 0x00000002
- Source Edit
DOTALL = 0x00000004
- Source Edit
EXTENDED = 0x00000008
- Source Edit
ANCHORED = 0x00000010
- Source Edit
DOLLAR_ENDONLY = 0x00000020
- Source Edit
EXTRA = 0x00000040
- Source Edit
NOTBOL = 0x00000080
- Source Edit
NOTEOL = 0x00000100
- Source Edit
UNGREEDY = 0x00000200
- Source Edit
NOTEMPTY = 0x00000400
- Source Edit
UTF8 = 0x00000800
- Source Edit
UTF16 = 0x00000800
- Source Edit
UTF32 = 0x00000800
- Source Edit
NO_AUTO_CAPTURE = 0x00001000
- Source Edit
NO_UTF8_CHECK = 0x00002000
- Source Edit
NO_UTF16_CHECK = 0x00002000
- Source Edit
NO_UTF32_CHECK = 0x00002000
- Source Edit
AUTO_CALLOUT = 0x00004000
- Source Edit
PARTIAL_SOFT = 0x00008000
- Source Edit
PARTIAL = 0x00008000
- Source Edit
NEVER_UTF = 0x00010000
- Source Edit
DFA_SHORTEST = 0x00010000
- Source Edit
NO_AUTO_POSSESS = 0x00020000
- Source Edit
DFA_RESTART = 0x00020000
- Source Edit
FIRSTLINE = 0x00040000
- Source Edit
DUPNAMES = 0x00080000
- Source Edit
NEWLINE_CR = 0x00100000
- Source Edit
NEWLINE_LF = 0x00200000
- Source Edit
NEWLINE_CRLF = 0x00300000
- Source Edit
NEWLINE_ANY = 0x00400000
- Source Edit
NEWLINE_ANYCRLF = 0x00500000
- Source Edit
BSR_ANYCRLF = 0x00800000
- Source Edit
BSR_UNICODE = 0x01000000
- Source Edit
JAVASCRIPT_COMPAT = 0x02000000
- Source Edit
NO_START_OPTIMIZE = 0x04000000
- Source Edit
NO_START_OPTIMISE = 0x04000000
- Source Edit
PARTIAL_HARD = 0x08000000
- Source Edit
NOTEMPTY_ATSTART = 0x10000000
- Source Edit
UCP = 0x20000000
- Source Edit
ERROR_NOMATCH = -1
- Source Edit
ERROR_NULL = -2
- Source Edit
ERROR_BADOPTION = -3
- Source Edit
ERROR_BADMAGIC = -4
- Source Edit
ERROR_UNKNOWN_OPCODE = -5
- Source Edit
ERROR_UNKNOWN_NODE = -5
- For backward compatibility Source Edit
ERROR_NOMEMORY = -6
- Source Edit
ERROR_NOSUBSTRING = -7
- Source Edit
ERROR_MATCHLIMIT = -8
- Source Edit
ERROR_CALLOUT = -9
- Never used by PCRE itself Source Edit
ERROR_BADUTF8 = -10
- Same for 8/16/32 Source Edit
ERROR_BADUTF16 = -10
- Same for 8/16/32 Source Edit
ERROR_BADUTF32 = -10
- Same for 8/16/32 Source Edit
ERROR_BADUTF8_OFFSET = -11
- Same for 8/16 Source Edit
ERROR_BADUTF16_OFFSET = -11
- Same for 8/16 Source Edit
ERROR_PARTIAL = -12
- Source Edit
ERROR_BADPARTIAL = -13
- Source Edit
ERROR_INTERNAL = -14
- Source Edit
ERROR_BADCOUNT = -15
- Source Edit
ERROR_DFA_UITEM = -16
- Source Edit
ERROR_DFA_UCOND = -17
- Source Edit
ERROR_DFA_UMLIMIT = -18
- Source Edit
ERROR_DFA_WSSIZE = -19
- Source Edit
ERROR_DFA_RECURSE = -20
- Source Edit
ERROR_RECURSIONLIMIT = -21
- Source Edit
ERROR_NULLWSLIMIT = -22
- No longer actually used Source Edit
ERROR_BADNEWLINE = -23
- Source Edit
ERROR_BADOFFSET = -24
- Source Edit
ERROR_SHORTUTF8 = -25
- Source Edit
ERROR_SHORTUTF16 = -25
- Same for 8/16 Source Edit
ERROR_RECURSELOOP = -26
- Source Edit
ERROR_JIT_STACKLIMIT = -27
- Source Edit
ERROR_BADMODE = -28
- Source Edit
ERROR_BADENDIANNESS = -29
- Source Edit
ERROR_DFA_BADRESTART = -30
- Source Edit
ERROR_JIT_BADOPTION = -31
- Source Edit
ERROR_BADLENGTH = -32
- Source Edit
ERROR_UNSET = -33
- Source Edit
UTF8_ERR0 = 0
- Source Edit
UTF8_ERR1 = 1
- Source Edit
UTF8_ERR2 = 2
- Source Edit
UTF8_ERR3 = 3
- Source Edit
UTF8_ERR4 = 4
- Source Edit
UTF8_ERR5 = 5
- Source Edit
UTF8_ERR6 = 6
- Source Edit
UTF8_ERR7 = 7
- Source Edit
UTF8_ERR8 = 8
- Source Edit
UTF8_ERR9 = 9
- Source Edit
UTF8_ERR10 = 10
- Source Edit
UTF8_ERR11 = 11
- Source Edit
UTF8_ERR12 = 12
- Source Edit
UTF8_ERR13 = 13
- Source Edit
UTF8_ERR14 = 14
- Source Edit
UTF8_ERR15 = 15
- Source Edit
UTF8_ERR16 = 16
- Source Edit
UTF8_ERR17 = 17
- Source Edit
UTF8_ERR18 = 18
- Source Edit
UTF8_ERR19 = 19
- Source Edit
UTF8_ERR20 = 20
- Source Edit
UTF8_ERR21 = 21
- Source Edit
UTF8_ERR22 = 22
- Source Edit
UTF16_ERR0 = 0
- Source Edit
UTF16_ERR1 = 1
- Source Edit
UTF16_ERR2 = 2
- Source Edit
UTF16_ERR3 = 3
- Source Edit
UTF16_ERR4 = 4
- Source Edit
UTF32_ERR0 = 0
- Source Edit
UTF32_ERR1 = 1
- Source Edit
UTF32_ERR2 = 2
- Source Edit
UTF32_ERR3 = 3
- Source Edit
INFO_OPTIONS = 0
- Source Edit
INFO_SIZE = 1
- Source Edit
INFO_CAPTURECOUNT = 2
- Source Edit
INFO_BACKREFMAX = 3
- Source Edit
INFO_FIRSTBYTE = 4
- Source Edit
INFO_FIRSTCHAR = 4
- For backwards compatibility Source Edit
INFO_FIRSTTABLE = 5
- Source Edit
INFO_LASTLITERAL = 6
- Source Edit
INFO_NAMEENTRYSIZE = 7
- Source Edit
INFO_NAMECOUNT = 8
- Source Edit
INFO_NAMETABLE = 9
- Source Edit
INFO_STUDYSIZE = 10
- Source Edit
INFO_DEFAULT_TABLES = 11
- Source Edit
INFO_OKPARTIAL = 12
- Source Edit
INFO_JCHANGED = 13
- Source Edit
INFO_HASCRORLF = 14
- Source Edit
INFO_MINLENGTH = 15
- Source Edit
INFO_JIT = 16
- Source Edit
INFO_JITSIZE = 17
- Source Edit
INFO_MAXLOOKBEHIND = 18
- Source Edit
INFO_FIRSTCHARACTER = 19
- Source Edit
INFO_FIRSTCHARACTERFLAGS = 20
- Source Edit
INFO_REQUIREDCHAR = 21
- Source Edit
INFO_REQUIREDCHARFLAGS = 22
- Source Edit
INFO_MATCHLIMIT = 23
- Source Edit
INFO_RECURSIONLIMIT = 24
- Source Edit
INFO_MATCH_EMPTY = 25
- Source Edit
CONFIG_UTF8 = 0
- Source Edit
CONFIG_NEWLINE = 1
- Source Edit
CONFIG_LINK_SIZE = 2
- Source Edit
CONFIG_POSIX_MALLOC_THRESHOLD = 3
- Source Edit
CONFIG_MATCH_LIMIT = 4
- Source Edit
CONFIG_STACKRECURSE = 5
- Source Edit
CONFIG_UNICODE_PROPERTIES = 6
- Source Edit
CONFIG_MATCH_LIMIT_RECURSION = 7
- Source Edit
CONFIG_BSR = 8
- Source Edit
CONFIG_JIT = 9
- Source Edit
CONFIG_UTF16 = 10
- Source Edit
CONFIG_JITTARGET = 11
- Source Edit
CONFIG_UTF32 = 12
- Source Edit
CONFIG_PARENS_LIMIT = 13
- Source Edit
STUDY_JIT_COMPILE = 0x00000001
- Source Edit
STUDY_JIT_PARTIAL_SOFT_COMPILE = 0x00000002
- Source Edit
STUDY_JIT_PARTIAL_HARD_COMPILE = 0x00000004
- Source Edit
STUDY_EXTRA_NEEDED = 0x00000008
- Source Edit
EXTRA_STUDY_DATA = 0x00000001
- Source Edit
EXTRA_MATCH_LIMIT = 0x00000002
- Source Edit
EXTRA_CALLOUT_DATA = 0x00000004
- Source Edit
EXTRA_TABLES = 0x00000008
- Source Edit
EXTRA_MATCH_LIMIT_RECURSION = 0x00000010
- Source Edit
EXTRA_MARK = 0x00000020
- Source Edit
EXTRA_EXECUTABLE_JIT = 0x00000040
- Source Edit
Procs
proc compile(pattern: cstring; options: cint; errptr: ptr cstring; erroffset: ptr cint; tableptr: pointer): ptr Pcre {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc compile2(pattern: cstring; options: cint; errorcodeptr: ptr cint; errptr: ptr cstring; erroffset: ptr cint; tableptr: pointer): ptr Pcre {...}{. cdecl, importc: "pcre_$1".}
- Source Edit
proc config(what: cint; where: pointer): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc copy_named_substring(code: ptr Pcre; subject: cstring; ovector: ptr cint; stringcount: cint; stringname: cstring; buffer: cstring; buffersize: cint): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc copy_substring(subject: cstring; ovector: ptr cint; stringcount: cint; stringnumber: cint; buffer: cstring; buffersize: cint): cint {...}{. cdecl, importc: "pcre_$1".}
- Source Edit
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 {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc exec(code: ptr Pcre; extra: ptr ExtraData; subject: cstring; length: cint; startoffset: cint; options: cint; ovector: ptr cint; ovecsize: cint): cint {...}{. cdecl, importc: "pcre_$1".}
- Source Edit
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 {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc free_substring(stringptr: cstring) {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc free_substring_list(stringptr: cstringArray) {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc fullinfo(code: ptr Pcre; extra: ptr ExtraData; what: cint; where: pointer): cint {...}{. cdecl, importc: "pcre_$1".}
- Source Edit
proc get_named_substring(code: ptr Pcre; subject: cstring; ovector: ptr cint; stringcount: cint; stringname: cstring; stringptr: cstringArray): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc get_stringnumber(code: ptr Pcre; name: cstring): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc get_stringtable_entries(code: ptr Pcre; name: cstring; first: cstringArray; last: cstringArray): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc get_substring(subject: cstring; ovector: ptr cint; stringcount: cint; stringnumber: cint; stringptr: cstringArray): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc get_substring_list(subject: cstring; ovector: ptr cint; stringcount: cint; listptr: ptr cstringArray): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc maketables(): pointer {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc refcount(code: ptr Pcre; adjust: cint): cint {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc study(code: ptr Pcre; options: cint; errptr: ptr cstring): ptr ExtraData {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc free_study(extra: ptr ExtraData) {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc version(): cstring {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc pattern_to_host_byte_order(code: ptr Pcre; extra: ptr ExtraData; tables: pointer): cint {...}{. cdecl, importc: "pcre_$1".}
- Source Edit
proc jit_stack_alloc(startsize: cint; maxsize: cint): ptr JitStack {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc jit_stack_free(stack: ptr JitStack) {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc assign_jit_stack(extra: ptr ExtraData; callback: JitCallback; data: pointer) {...}{. cdecl, importc: "pcre_$1".}
- Source Edit
proc jit_free_unused_memory() {...}{.cdecl, importc: "pcre_$1".}
- Source Edit
proc study(code: ptr Pcre; options: cint; errptr: var cstring): ptr ExtraData {...}{.deprecated, cdecl, importc: "pcre_$1".}
- Source Edit