man-pages/man3/pcre_fullinfo.3.html
2021-03-31 01:06:50 +01:00

136 lines
11 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of PCRE_FULLINFO</TITLE>
</HEAD><BODY>
<H1>PCRE_FULLINFO</H1>
Section: C Library Functions (3)<BR>Updated: 21 April 2014<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
PCRE - Perl-compatible regular expressions
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<P>
<B>#include &lt;<A HREF="file:///usr/include/pcre.h">pcre.h</A>&gt;</B>
<P>
<PRE>
<B>int pcre_fullinfo(const pcre *</B><I>code</I>, const pcre_extra *<I>extra</I>,
<B> int </B><I>what</I>, void *<I>where</I>);
<B>int pcre16_fullinfo(const pcre16 *</B><I>code</I>, const pcre16_extra *<I>extra</I>,
<B> int </B><I>what</I>, void *<I>where</I>);
<B>int pcre32_fullinfo(const pcre32 *</B><I>code</I>, const pcre32_extra *<I>extra</I>,
<B> int </B><I>what</I>, void *<I>where</I>);
</PRE>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<P>
This function returns information about a compiled pattern. Its arguments are:
<P>
<BR>&nbsp;&nbsp;<I>code</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Compiled&nbsp;regular&nbsp;expression
<BR>&nbsp;&nbsp;<I>extra</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result&nbsp;of&nbsp;<B>pcre[16|32]_study()</B>&nbsp;or&nbsp;NULL
<BR>&nbsp;&nbsp;<I>what</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;What&nbsp;information&nbsp;is&nbsp;required
<BR>&nbsp;&nbsp;<I>where</I>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Where&nbsp;to&nbsp;put&nbsp;the&nbsp;information
<P>
The following information is available:
<P>
<BR>&nbsp;&nbsp;PCRE_INFO_BACKREFMAX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number&nbsp;of&nbsp;highest&nbsp;back&nbsp;reference
<BR>&nbsp;&nbsp;PCRE_INFO_CAPTURECOUNT&nbsp;&nbsp;&nbsp;&nbsp;Number&nbsp;of&nbsp;capturing&nbsp;subpatterns
<BR>&nbsp;&nbsp;PCRE_INFO_DEFAULT_TABLES&nbsp;&nbsp;Pointer&nbsp;to&nbsp;default&nbsp;tables
<BR>&nbsp;&nbsp;PCRE_INFO_FIRSTBYTE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fixed&nbsp;first&nbsp;data&nbsp;unit&nbsp;for&nbsp;a&nbsp;match,&nbsp;or
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-1&nbsp;for&nbsp;start&nbsp;of&nbsp;string
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;or&nbsp;after&nbsp;newline,&nbsp;or
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-2&nbsp;otherwise
<BR>&nbsp;&nbsp;PCRE_INFO_FIRSTTABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Table&nbsp;of&nbsp;first&nbsp;data&nbsp;units&nbsp;(after&nbsp;studying)
<BR>&nbsp;&nbsp;PCRE_INFO_HASCRORLF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;1&nbsp;if&nbsp;explicit&nbsp;CR&nbsp;or&nbsp;LF&nbsp;matches&nbsp;exist
<BR>&nbsp;&nbsp;PCRE_INFO_JCHANGED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;1&nbsp;if&nbsp;(?J)&nbsp;or&nbsp;(?-J)&nbsp;was&nbsp;used
<BR>&nbsp;&nbsp;PCRE_INFO_JIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;1&nbsp;after&nbsp;successful&nbsp;JIT&nbsp;compilation
<BR>&nbsp;&nbsp;PCRE_INFO_JITSIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size&nbsp;of&nbsp;JIT&nbsp;compiled&nbsp;code
<BR>&nbsp;&nbsp;PCRE_INFO_LASTLITERAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Literal&nbsp;last&nbsp;data&nbsp;unit&nbsp;required
<BR>&nbsp;&nbsp;PCRE_INFO_MINLENGTH&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Lower&nbsp;bound&nbsp;length&nbsp;of&nbsp;matching&nbsp;strings
<BR>&nbsp;&nbsp;PCRE_INFO_MATCHEMPTY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;1&nbsp;if&nbsp;the&nbsp;pattern&nbsp;can&nbsp;match&nbsp;an&nbsp;empty&nbsp;string,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;otherwise
<BR>&nbsp;&nbsp;PCRE_INFO_MATCHLIMIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Match&nbsp;limit&nbsp;if&nbsp;set,&nbsp;otherwise&nbsp;PCRE_RROR_UNSET
<BR>&nbsp;&nbsp;PCRE_INFO_MAXLOOKBEHIND&nbsp;&nbsp;&nbsp;Length&nbsp;(in&nbsp;characters)&nbsp;of&nbsp;the&nbsp;longest&nbsp;lookbehind&nbsp;assertion
<BR>&nbsp;&nbsp;PCRE_INFO_NAMECOUNT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Number&nbsp;of&nbsp;named&nbsp;subpatterns
<BR>&nbsp;&nbsp;PCRE_INFO_NAMEENTRYSIZE&nbsp;&nbsp;&nbsp;Size&nbsp;of&nbsp;name&nbsp;table&nbsp;entry
<BR>&nbsp;&nbsp;PCRE_INFO_NAMETABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pointer&nbsp;to&nbsp;name&nbsp;table
<BR>&nbsp;&nbsp;PCRE_INFO_OKPARTIAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;1&nbsp;if&nbsp;partial&nbsp;matching&nbsp;can&nbsp;be&nbsp;tried
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(always&nbsp;returns&nbsp;1&nbsp;after&nbsp;release&nbsp;8.00)
<BR>&nbsp;&nbsp;PCRE_INFO_OPTIONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Option&nbsp;bits&nbsp;used&nbsp;for&nbsp;compilation
<BR>&nbsp;&nbsp;PCRE_INFO_SIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size&nbsp;of&nbsp;compiled&nbsp;pattern
<BR>&nbsp;&nbsp;PCRE_INFO_STUDYSIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Size&nbsp;of&nbsp;study&nbsp;data
<BR>&nbsp;&nbsp;PCRE_INFO_FIRSTCHARACTER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Fixed&nbsp;first&nbsp;data&nbsp;unit&nbsp;for&nbsp;a&nbsp;match
<BR>&nbsp;&nbsp;PCRE_INFO_FIRSTCHARACTERFLAGS&nbsp;Returns
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;if&nbsp;there&nbsp;is&nbsp;a&nbsp;first&nbsp;data&nbsp;character&nbsp;set,&nbsp;which&nbsp;can
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;then&nbsp;be&nbsp;retrieved&nbsp;using&nbsp;PCRE_INFO_FIRSTCHARACTER,
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;if&nbsp;the&nbsp;first&nbsp;character&nbsp;is&nbsp;at&nbsp;the&nbsp;start&nbsp;of&nbsp;the&nbsp;data
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;or&nbsp;after&nbsp;a&nbsp;newline,&nbsp;and
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;otherwise
<BR>&nbsp;&nbsp;PCRE_INFO_RECURSIONLIMIT&nbsp;&nbsp;&nbsp;&nbsp;Recursion&nbsp;limit&nbsp;if&nbsp;set,&nbsp;otherwise&nbsp;PCRE_ERROR_UNSET
<BR>&nbsp;&nbsp;PCRE_INFO_REQUIREDCHAR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Literal&nbsp;last&nbsp;data&nbsp;unit&nbsp;required
<BR>&nbsp;&nbsp;PCRE_INFO_REQUIREDCHARFLAGS&nbsp;Returns&nbsp;1&nbsp;if&nbsp;the&nbsp;last&nbsp;data&nbsp;character&nbsp;is&nbsp;set&nbsp;(which&nbsp;can&nbsp;then
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;be&nbsp;retrieved&nbsp;using&nbsp;PCRE_INFO_REQUIREDCHAR);&nbsp;0&nbsp;otherwise
<P>
The <I>where</I> argument must point to an integer variable, except for the
following <I>what</I> values:
<P>
<BR>&nbsp;&nbsp;PCRE_INFO_DEFAULT_TABLES&nbsp;&nbsp;const&nbsp;uint8_t&nbsp;*
<BR>&nbsp;&nbsp;PCRE_INFO_FIRSTCHARACTER&nbsp;&nbsp;uint32_t
<BR>&nbsp;&nbsp;PCRE_INFO_FIRSTTABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;uint8_t&nbsp;*
<BR>&nbsp;&nbsp;PCRE_INFO_JITSIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t
<BR>&nbsp;&nbsp;PCRE_INFO_MATCHLIMIT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uint32_t
<BR>&nbsp;&nbsp;PCRE_INFO_NAMETABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCRE_SPTR16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(16-bit&nbsp;library)
<BR>&nbsp;&nbsp;PCRE_INFO_NAMETABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PCRE_SPTR32&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(32-bit&nbsp;library)
<BR>&nbsp;&nbsp;PCRE_INFO_NAMETABLE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;unsigned&nbsp;char&nbsp;*&nbsp;(8-bit&nbsp;library)
<BR>&nbsp;&nbsp;PCRE_INFO_OPTIONS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;long&nbsp;int
<BR>&nbsp;&nbsp;PCRE_INFO_SIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t
<BR>&nbsp;&nbsp;PCRE_INFO_STUDYSIZE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size_t
<BR>&nbsp;&nbsp;PCRE_INFO_RECURSIONLIMIT&nbsp;&nbsp;uint32_t
<BR>&nbsp;&nbsp;PCRE_INFO_REQUIREDCHAR&nbsp;&nbsp;&nbsp;&nbsp;uint32_t
<P>
The yield of the function is zero on success or:
<P>
<BR>&nbsp;&nbsp;PCRE_ERROR_NULL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;argument&nbsp;<I>code</I>&nbsp;was&nbsp;NULL
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;argument&nbsp;<I>where</I>&nbsp;was&nbsp;NULL
<BR>&nbsp;&nbsp;PCRE_ERROR_BADMAGIC&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;&quot;magic&nbsp;number&quot;&nbsp;was&nbsp;not&nbsp;found
<BR>&nbsp;&nbsp;PCRE_ERROR_BADOPTION&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;value&nbsp;of&nbsp;<I>what</I>&nbsp;was&nbsp;invalid
<BR>&nbsp;&nbsp;PCRE_ERROR_UNSET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;option&nbsp;was&nbsp;not&nbsp;set
<P>
There is a complete description of the PCRE native API in the
<B>pcreapi</B>
page and a description of the POSIX API in the
<B>pcreposix</B>
page.
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="1"><A HREF="#lbAB">NAME</A><DD>
<DT id="2"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="3"><A HREF="#lbAD">DESCRIPTION</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:51 GMT, March 31, 2021
</BODY>
</HTML>