On this page
pcre
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
 
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
 https://nim-lang.org/docs/pcre.html