chiark / gitweb /
pcre3 (2:8.35-7.1) unstable; urgency=medium
[pcre3.git] / doc / html / pcre_fullinfo.html
1 <html>
2 <head>
3 <title>pcre_fullinfo specification</title>
4 </head>
5 <body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
6 <h1>pcre_fullinfo man page</h1>
7 <p>
8 Return to the <a href="index.html">PCRE index page</a>.
9 </p>
10 <p>
11 This page is part of the PCRE HTML documentation. It was generated automatically
12 from the original man page. If there is any nonsense in it, please consult the
13 man page, in case the conversion went wrong.
14 <br>
15 <br><b>
16 SYNOPSIS
17 </b><br>
18 <P>
19 <b>#include &#60;pcre.h&#62;</b>
20 </P>
21 <P>
22 <b>int pcre_fullinfo(const pcre *<i>code</i>, const pcre_extra *<i>extra</i>,</b>
23 <b>     int <i>what</i>, void *<i>where</i>);</b>
24 <br>
25 <br>
26 <b>int pcre16_fullinfo(const pcre16 *<i>code</i>, const pcre16_extra *<i>extra</i>,</b>
27 <b>     int <i>what</i>, void *<i>where</i>);</b>
28 <br>
29 <br>
30 <b>int pcre32_fullinfo(const pcre32 *<i>code</i>, const pcre32_extra *<i>extra</i>,</b>
31 <b>     int <i>what</i>, void *<i>where</i>);</b>
32 </P>
33 <br><b>
34 DESCRIPTION
35 </b><br>
36 <P>
37 This function returns information about a compiled pattern. Its arguments are:
38 <pre>
39   <i>code</i>                      Compiled regular expression
40   <i>extra</i>                     Result of <b>pcre[16|32]_study()</b> or NULL
41   <i>what</i>                      What information is required
42   <i>where</i>                     Where to put the information
43 </pre>
44 The following information is available:
45 <pre>
46   PCRE_INFO_BACKREFMAX      Number of highest back reference
47   PCRE_INFO_CAPTURECOUNT    Number of capturing subpatterns
48   PCRE_INFO_DEFAULT_TABLES  Pointer to default tables
49   PCRE_INFO_FIRSTBYTE       Fixed first data unit for a match, or
50                               -1 for start of string
51                                  or after newline, or
52                               -2 otherwise
53   PCRE_INFO_FIRSTTABLE      Table of first data units (after studying)
54   PCRE_INFO_HASCRORLF       Return 1 if explicit CR or LF matches exist
55   PCRE_INFO_JCHANGED        Return 1 if (?J) or (?-J) was used
56   PCRE_INFO_JIT             Return 1 after successful JIT compilation
57   PCRE_INFO_JITSIZE         Size of JIT compiled code
58   PCRE_INFO_LASTLITERAL     Literal last data unit required
59   PCRE_INFO_MINLENGTH       Lower bound length of matching strings
60   PCRE_INFO_NAMECOUNT       Number of named subpatterns
61   PCRE_INFO_NAMEENTRYSIZE   Size of name table entry
62   PCRE_INFO_NAMETABLE       Pointer to name table
63   PCRE_INFO_OKPARTIAL       Return 1 if partial matching can be tried
64                               (always returns 1 after release 8.00)
65   PCRE_INFO_OPTIONS         Option bits used for compilation
66   PCRE_INFO_SIZE            Size of compiled pattern
67   PCRE_INFO_STUDYSIZE       Size of study data
68   PCRE_INFO_FIRSTCHARACTER      Fixed first data unit for a match
69   PCRE_INFO_FIRSTCHARACTERFLAGS Returns
70                                   1 if there is a first data character set, which can
71                                     then be retrieved using PCRE_INFO_FIRSTCHARACTER,
72                                   2 if the first character is at the start of the data
73                                     string or after a newline, and
74                                   0 otherwise
75   PCRE_INFO_REQUIREDCHAR      Literal last data unit required
76   PCRE_INFO_REQUIREDCHARFLAGS Returns 1 if the last data character is set (which can then
77                               be retrieved using PCRE_INFO_REQUIREDCHAR); 0 otherwise
78 </pre>
79 The <i>where</i> argument must point to an integer variable, except for the
80 following <i>what</i> values:
81 <pre>
82   PCRE_INFO_DEFAULT_TABLES  const unsigned char *
83   PCRE_INFO_FIRSTTABLE      const unsigned char *
84   PCRE_INFO_NAMETABLE       PCRE_SPTR16           (16-bit library)
85   PCRE_INFO_NAMETABLE       PCRE_SPTR32           (32-bit library)
86   PCRE_INFO_NAMETABLE       const unsigned char * (8-bit library)
87   PCRE_INFO_OPTIONS         unsigned long int
88   PCRE_INFO_SIZE            size_t
89   PCRE_INFO_FIRSTCHARACTER  uint32_t
90   PCRE_INFO_REQUIREDCHAR    uint32_t
91 </pre>
92 The yield of the function is zero on success or:
93 <pre>
94   PCRE_ERROR_NULL           the argument <i>code</i> was NULL
95                             the argument <i>where</i> was NULL
96   PCRE_ERROR_BADMAGIC       the "magic number" was not found
97   PCRE_ERROR_BADOPTION      the value of <i>what</i> was invalid
98 </PRE>
99 </P>
100 <P>
101 There is a complete description of the PCRE native API in the
102 <a href="pcreapi.html"><b>pcreapi</b></a>
103 page and a description of the POSIX API in the
104 <a href="pcreposix.html"><b>pcreposix</b></a>
105 page.
106 <p>
107 Return to the <a href="index.html">PCRE index page</a>.
108 </p>