php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
pcre2_match.c File Reference
#include "pcre2_internal.h"

Go to the source code of this file.

Macros

#define NLBLOCK   mb /* Block containing newline information */
 
#define PSSTART   start_subject /* Field containing processed string start */
 
#define PSEND   end_subject /* Field containing processed string end */
 
#define RECURSE_UNSET   0xffffffffu /* Bigger than max group number */
 
#define PUBLIC_MATCH_OPTIONS
 
#define PUBLIC_JIT_MATCH_OPTIONS
 
#define MATCH_MATCH   1
 
#define MATCH_NOMATCH   0
 
#define MATCH_ACCEPT   (-999)
 
#define MATCH_KETRPOS   (-998)
 
#define MATCH_COMMIT   (-997)
 
#define MATCH_PRUNE   (-996)
 
#define MATCH_SKIP   (-995)
 
#define MATCH_SKIP_ARG   (-994)
 
#define MATCH_THEN   (-993)
 
#define MATCH_BACKTRACK_MAX   MATCH_THEN
 
#define MATCH_BACKTRACK_MIN   MATCH_COMMIT
 
#define GF_CAPTURE   0x00010000u
 
#define GF_NOCAPTURE   0x00020000u
 
#define GF_CONDASSERT   0x00030000u
 
#define GF_RECURSE   0x00040000u
 
#define GF_IDMASK(a)
 
#define GF_DATAMASK(a)
 
#define Fback_frame   F->back_frame
 
#define Fcapture_last   F->capture_last
 
#define Fcurrent_recurse   F->current_recurse
 
#define Fecode   F->ecode
 
#define Feptr   F->eptr
 
#define Fgroup_frame_type   F->group_frame_type
 
#define Flast_group_offset   F->last_group_offset
 
#define Flength   F->length
 
#define Fmark   F->mark
 
#define Frdepth   F->rdepth
 
#define Fstart_match   F->start_match
 
#define Foffset_top   F->offset_top
 
#define Foccu   F->occu
 
#define Fop   F->op
 
#define Fovector   F->ovector
 
#define Freturn_id   F->return_id
 
#define CHECK_PARTIAL()
 
#define SCHECK_PARTIAL()
 
#define RMATCH(ra, rb)
 
#define RRETURN(ra)
 
#define Loclength   F->temp_size
 
#define Lstart_eptr   F->temp_sptr[0]
 
#define Lcharptr   F->temp_sptr[1]
 
#define Lmin   F->temp_32[0]
 
#define Lmax   F->temp_32[1]
 
#define Lc   F->temp_32[2]
 
#define Loc   F->temp_32[3]
 
#define Lstart_eptr   F->temp_sptr[0]
 
#define Lmin   F->temp_32[0]
 
#define Lmax   F->temp_32[1]
 
#define Lc   F->temp_32[2]
 
#define Loc   F->temp_32[3]
 
#define Lmin   F->temp_32[0]
 
#define Lmax   F->temp_32[1]
 
#define Lstart_eptr   F->temp_sptr[0]
 
#define Lbyte_map_address   F->temp_sptr[1]
 
#define Lbyte_map   ((unsigned char *)Lbyte_map_address)
 
#define Lstart_eptr   F->temp_sptr[0]
 
#define Lxclass_data   F->temp_sptr[1]
 
#define Lmin   F->temp_32[0]
 
#define Lmax   F->temp_32[1]
 
#define Lstart_eptr   F->temp_sptr[0]
 
#define Lmin   F->temp_32[0]
 
#define Lmax   F->temp_32[1]
 
#define Lctype   F->temp_32[2]
 
#define Lpropvalue   F->temp_32[3]
 
#define Lmin   F->temp_32[0]
 
#define Lmax   F->temp_32[1]
 
#define Lcaseless   F->temp_32[2]
 
#define Lstart   F->temp_sptr[0]
 
#define Loffset   F->temp_size
 
#define Lnext_ecode   F->temp_sptr[0]
 
#define Lframe_type   F->temp_32[0]
 
#define Lmatched_once   F->temp_32[1]
 
#define Lzero_allowed   F->temp_32[2]
 
#define Lstart_eptr   F->temp_sptr[0]
 
#define Lstart_group   F->temp_sptr[1]
 
#define Lframe_type   F->temp_32[0] /* Set for all that use GROUPLOOP */
 
#define Lnext_branch   F->temp_sptr[0] /* Used only in OP_BRA handling */
 
#define Lframe_type   F->temp_32[0]
 
#define Lstart_branch   F->temp_sptr[0]
 
#define Lframe_type   F->temp_32[0]
 
#define Lframe_type   F->temp_32[0]
 
#define Lpositive   F->temp_32[0]
 
#define Lstart_branch   F->temp_sptr[0]
 
#define Lmin   F->temp_32[0]
 
#define Lmax   F->temp_32[1]
 
#define Leptr   F->temp_sptr[0]
 
#define LBL(val)
 
#define FF   (PCRE2_NOTEMPTY_SET|PCRE2_NE_ATST_SET)
 
#define OO   (PCRE2_NOTEMPTY|PCRE2_NOTEMPTY_ATSTART)
 

Enumerations

enum  { REPTYPE_MIN , REPTYPE_MAX , REPTYPE_POS }
 
enum  {
  RM1 =1 , RM2 , RM3 , RM4 ,
  RM5 , RM6 , RM7 , RM8 ,
  RM9 , RM10 , RM11 , RM12 ,
  RM13 , RM14 , RM15 , RM16 ,
  RM17 , RM18 , RM19 , RM20 ,
  RM21 , RM22 , RM23 , RM24 ,
  RM25 , RM26 , RM27 , RM28 ,
  RM29 , RM30 , RM31 , RM32 ,
  RM33 , RM34 , RM35 , RM36 ,
  RM37
}
 

Functions

PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION pcre2_match (const pcre2_code *code, PCRE2_SPTR subject, PCRE2_SIZE length, PCRE2_SIZE start_offset, uint32_t options, pcre2_match_data *match_data, pcre2_match_context *mcontext)
 

Macro Definition Documentation

◆ CHECK_PARTIAL

#define CHECK_PARTIAL ( )
Value:
if (Feptr >= mb->end_subject) \
{ \
SCHECK_PARTIAL(); \
}
#define Feptr

Definition at line 531 of file pcre2_match.c.

◆ Fback_frame

#define Fback_frame   F->back_frame

Definition at line 178 of file pcre2_match.c.

◆ Fcapture_last

#define Fcapture_last   F->capture_last

Definition at line 179 of file pcre2_match.c.

◆ Fcurrent_recurse

#define Fcurrent_recurse   F->current_recurse

Definition at line 180 of file pcre2_match.c.

◆ Fecode

#define Fecode   F->ecode

Definition at line 181 of file pcre2_match.c.

◆ Feptr

#define Feptr   F->eptr

Definition at line 182 of file pcre2_match.c.

◆ FF

◆ Fgroup_frame_type

#define Fgroup_frame_type   F->group_frame_type

Definition at line 183 of file pcre2_match.c.

◆ Flast_group_offset

#define Flast_group_offset   F->last_group_offset

Definition at line 184 of file pcre2_match.c.

◆ Flength

#define Flength   F->length

Definition at line 185 of file pcre2_match.c.

◆ Fmark

#define Fmark   F->mark

Definition at line 186 of file pcre2_match.c.

◆ Foccu

#define Foccu   F->occu

Definition at line 190 of file pcre2_match.c.

◆ Foffset_top

#define Foffset_top   F->offset_top

Definition at line 189 of file pcre2_match.c.

◆ Fop

#define Fop   F->op

Definition at line 191 of file pcre2_match.c.

◆ Fovector

#define Fovector   F->ovector

Definition at line 192 of file pcre2_match.c.

◆ Frdepth

#define Frdepth   F->rdepth

Definition at line 187 of file pcre2_match.c.

◆ Freturn_id

#define Freturn_id   F->return_id

Definition at line 193 of file pcre2_match.c.

◆ Fstart_match

#define Fstart_match   F->start_match

Definition at line 188 of file pcre2_match.c.

◆ GF_CAPTURE

#define GF_CAPTURE   0x00010000u

Definition at line 111 of file pcre2_match.c.

◆ GF_CONDASSERT

#define GF_CONDASSERT   0x00030000u

Definition at line 113 of file pcre2_match.c.

◆ GF_DATAMASK

#define GF_DATAMASK ( a)
Value:
((a) & 0x0000ffffu)
$obj a
Definition test.php:84

Definition at line 119 of file pcre2_match.c.

◆ GF_IDMASK

#define GF_IDMASK ( a)
Value:
((a) & 0xffff0000u)

Definition at line 118 of file pcre2_match.c.

◆ GF_NOCAPTURE

#define GF_NOCAPTURE   0x00020000u

Definition at line 112 of file pcre2_match.c.

◆ GF_RECURSE

#define GF_RECURSE   0x00040000u

Definition at line 114 of file pcre2_match.c.

◆ LBL

#define LBL ( val)
Value:
case val: goto L_RM##val;
zval * val
Definition ffi.c:4262

◆ Lbyte_map

#define Lbyte_map   ((unsigned char *)Lbyte_map_address)

◆ Lbyte_map_address

#define Lbyte_map_address   F->temp_sptr[1]

◆ Lc [1/2]

#define Lc   F->temp_32[2]

◆ Lc [2/2]

#define Lc   F->temp_32[2]

◆ Lcaseless

#define Lcaseless   F->temp_32[2]

◆ Lcharptr

#define Lcharptr   F->temp_sptr[1]

◆ Lctype

#define Lctype   F->temp_32[2]

◆ Leptr

#define Leptr   F->temp_sptr[0]

◆ Lframe_type [1/5]

#define Lframe_type   F->temp_32[0]

◆ Lframe_type [2/5]

#define Lframe_type   F->temp_32[0] /* Set for all that use GROUPLOOP */

◆ Lframe_type [3/5]

#define Lframe_type   F->temp_32[0]

◆ Lframe_type [4/5]

#define Lframe_type   F->temp_32[0]

◆ Lframe_type [5/5]

#define Lframe_type   F->temp_32[0]

◆ Lmatched_once

#define Lmatched_once   F->temp_32[1]

◆ Lmax [1/7]

#define Lmax   F->temp_32[1]

◆ Lmax [2/7]

#define Lmax   F->temp_32[1]

◆ Lmax [3/7]

#define Lmax   F->temp_32[1]

◆ Lmax [4/7]

#define Lmax   F->temp_32[1]

◆ Lmax [5/7]

#define Lmax   F->temp_32[1]

◆ Lmax [6/7]

#define Lmax   F->temp_32[1]

◆ Lmax [7/7]

#define Lmax   F->temp_32[1]

◆ Lmin [1/7]

#define Lmin   F->temp_32[0]

◆ Lmin [2/7]

#define Lmin   F->temp_32[0]

◆ Lmin [3/7]

#define Lmin   F->temp_32[0]

◆ Lmin [4/7]

#define Lmin   F->temp_32[0]

◆ Lmin [5/7]

#define Lmin   F->temp_32[0]

◆ Lmin [6/7]

#define Lmin   F->temp_32[0]

◆ Lmin [7/7]

#define Lmin   F->temp_32[0]

◆ Lnext_branch

#define Lnext_branch   F->temp_sptr[0] /* Used only in OP_BRA handling */

◆ Lnext_ecode

#define Lnext_ecode   F->temp_sptr[0]

◆ Loc [1/2]

#define Loc   F->temp_32[3]

◆ Loc [2/2]

#define Loc   F->temp_32[3]

◆ Loclength

#define Loclength   F->temp_size

◆ Loffset

#define Loffset   F->temp_size

◆ Lpositive

#define Lpositive   F->temp_32[0]

◆ Lpropvalue

#define Lpropvalue   F->temp_32[3]

◆ Lstart

#define Lstart   F->temp_sptr[0]

◆ Lstart_branch [1/2]

#define Lstart_branch   F->temp_sptr[0]

◆ Lstart_branch [2/2]

#define Lstart_branch   F->temp_sptr[0]

◆ Lstart_eptr [1/6]

#define Lstart_eptr   F->temp_sptr[0]

◆ Lstart_eptr [2/6]

#define Lstart_eptr   F->temp_sptr[0]

◆ Lstart_eptr [3/6]

#define Lstart_eptr   F->temp_sptr[0]

◆ Lstart_eptr [4/6]

#define Lstart_eptr   F->temp_sptr[0]

◆ Lstart_eptr [5/6]

#define Lstart_eptr   F->temp_sptr[0]

◆ Lstart_eptr [6/6]

#define Lstart_eptr   F->temp_sptr[0]

◆ Lstart_group

#define Lstart_group   F->temp_sptr[1]

◆ Lxclass_data

#define Lxclass_data   F->temp_sptr[1]

◆ Lzero_allowed

#define Lzero_allowed   F->temp_32[2]

◆ MATCH_ACCEPT

#define MATCH_ACCEPT   (-999)

Definition at line 93 of file pcre2_match.c.

◆ MATCH_BACKTRACK_MAX

#define MATCH_BACKTRACK_MAX   MATCH_THEN

Definition at line 102 of file pcre2_match.c.

◆ MATCH_BACKTRACK_MIN

#define MATCH_BACKTRACK_MIN   MATCH_COMMIT

Definition at line 103 of file pcre2_match.c.

◆ MATCH_COMMIT

#define MATCH_COMMIT   (-997)

Definition at line 97 of file pcre2_match.c.

◆ MATCH_KETRPOS

#define MATCH_KETRPOS   (-998)

Definition at line 94 of file pcre2_match.c.

◆ MATCH_MATCH

#define MATCH_MATCH   1

Definition at line 87 of file pcre2_match.c.

◆ MATCH_NOMATCH

#define MATCH_NOMATCH   0

Definition at line 88 of file pcre2_match.c.

◆ MATCH_PRUNE

#define MATCH_PRUNE   (-996)

Definition at line 98 of file pcre2_match.c.

◆ MATCH_SKIP

#define MATCH_SKIP   (-995)

Definition at line 99 of file pcre2_match.c.

◆ MATCH_SKIP_ARG

#define MATCH_SKIP_ARG   (-994)

Definition at line 100 of file pcre2_match.c.

◆ MATCH_THEN

#define MATCH_THEN   (-993)

Definition at line 101 of file pcre2_match.c.

◆ NLBLOCK

#define NLBLOCK   mb /* Block containing newline information */

Definition at line 65 of file pcre2_match.c.

◆ OO

◆ PSEND

#define PSEND   end_subject /* Field containing processed string end */

Definition at line 67 of file pcre2_match.c.

◆ PSSTART

#define PSSTART   start_subject /* Field containing processed string start */

Definition at line 66 of file pcre2_match.c.

◆ PUBLIC_JIT_MATCH_OPTIONS

#define PUBLIC_JIT_MATCH_OPTIONS
Value:
#define PCRE2_NOTEMPTY_ATSTART
Definition pcre2.h:179
#define PCRE2_COPY_MATCHED_SUBJECT
Definition pcre2.h:190
#define PCRE2_PARTIAL_SOFT
Definition pcre2.h:180
#define PCRE2_NOTBOL
Definition pcre2.h:176
#define PCRE2_PARTIAL_HARD
Definition pcre2.h:181
#define PCRE2_NO_UTF_CHECK
Definition pcre2.h:106
#define PCRE2_NOTEMPTY
Definition pcre2.h:178
#define PCRE2_NOTEOL
Definition pcre2.h:177

Definition at line 79 of file pcre2_match.c.

◆ PUBLIC_MATCH_OPTIONS

#define PUBLIC_MATCH_OPTIONS

◆ RECURSE_UNSET

#define RECURSE_UNSET   0xffffffffu /* Bigger than max group number */

Definition at line 69 of file pcre2_match.c.

◆ RMATCH

#define RMATCH ( ra,
rb )
Value:
{\
start_ecode = ra;\
Freturn_id = rb;\
goto MATCH_RECURSE;\
L_##rb:;\
}
#define Freturn_id

Definition at line 550 of file pcre2_match.c.

◆ RRETURN

#define RRETURN ( ra)
Value:
{\
rrc = ra;\
goto RETURN_SWITCH;\
}

Definition at line 558 of file pcre2_match.c.

◆ SCHECK_PARTIAL

#define SCHECK_PARTIAL ( )
Value:
if (mb->partial != 0 && \
(Feptr > mb->start_used_ptr || mb->allowemptypartial)) \
{ \
mb->hitend = TRUE; \
if (mb->partial > 1) return PCRE2_ERROR_PARTIAL; \
}
#define TRUE
Definition gd_gd.c:7
#define PCRE2_ERROR_PARTIAL
Definition pcre2.h:328

Definition at line 537 of file pcre2_match.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RM1 
RM2 
RM3 
RM4 
RM5 
RM6 
RM7 
RM8 
RM9 
RM10 
RM11 
RM12 
RM13 
RM14 
RM15 
RM16 
RM17 
RM18 
RM19 
RM20 
RM21 
RM22 
RM23 
RM24 
RM25 
RM26 
RM27 
RM28 
RM29 
RM30 
RM31 
RM32 
RM33 
RM34 
RM35 
RM36 
RM37 

Definition at line 155 of file pcre2_match.c.

◆ anonymous enum

anonymous enum
Enumerator
REPTYPE_MIN 
REPTYPE_MAX 
REPTYPE_POS 

Definition at line 123 of file pcre2_match.c.

Function Documentation

◆ pcre2_match()

PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION pcre2_match ( const pcre2_code * code,
PCRE2_SPTR subject,
PCRE2_SIZE length,
PCRE2_SIZE start_offset,
uint32_t options,
pcre2_match_data * match_data,
pcre2_match_context * mcontext )

Definition at line 6530 of file pcre2_match.c.