Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
PCRE2_PATTERN_INFO(3)	   Library Functions Manual	 PCRE2_PATTERN_INFO(3)

       PCRE2 - Perl-compatible regular expressions (revised API)


       #include	<pcre2.h>

       int pcre2_pattern_info(const pcre2_code *code, uint32_t what,
	  void *where);


       This  function  returns information about a compiled pattern. Its argu-
       ments are:

	 code	  Pointer to a compiled	regular	expression pattern
	 what	  What information is required
	 where	  Where	to put the information

       The recognized values for the what argument, and	the  information  they
       request are as follows:

	 PCRE2_INFO_ALLOPTIONS	    Final options after	compiling
	 PCRE2_INFO_ARGOPTIONS	    Options passed to pcre2_compile()
	 PCRE2_INFO_BACKREFMAX	    Number of highest backreference
	 PCRE2_INFO_BSR		    What \R matches:
				      PCRE2_BSR_UNICODE: Unicode line endings
				      PCRE2_BSR_ANYCRLF: CR, LF, or CRLF only
	 PCRE2_INFO_CAPTURECOUNT    Number of capturing	subpatterns
	 PCRE2_INFO_DEPTHLIMIT	    Backtracking depth limit if	set,
				      otherwise	PCRE2_ERROR_UNSET
	 PCRE2_INFO_EXTRAOPTIONS    Extra options that were passed in the
				      compile context
	 PCRE2_INFO_FIRSTBITMAP	    Bitmap of first code units,	or NULL
	 PCRE2_INFO_FIRSTCODETYPE   Type of start-of-match information
				      0	nothing	set
				      1	first code unit	is set
				      2	start of string	or after newline
	 PCRE2_INFO_FIRSTCODEUNIT   First code unit when type is 1
	 PCRE2_INFO_FRAMESIZE	    Size of backtracking frame
	 PCRE2_INFO_HASBACKSLASHC   Return 1 if	pattern	contains \C
	 PCRE2_INFO_HASCRORLF	    Return 1 if	explicit CR or LF matches
				      exist in the pattern
	 PCRE2_INFO_HEAPLIMIT	    Heap memory	limit if set,
				      otherwise	PCRE2_ERROR_UNSET
	 PCRE2_INFO_JCHANGED	    Return 1 if	(?J) or	(?-J) was used
	 PCRE2_INFO_JITSIZE	    Size of JIT	compiled code, or 0
	 PCRE2_INFO_LASTCODETYPE    Type of must-be-present information
				      0	nothing	set
				      1	code unit is set
	 PCRE2_INFO_LASTCODEUNIT    Last code unit when	type is	1
	 PCRE2_INFO_MATCHEMPTY	    1 if the pattern can match an
				      empty string, 0 otherwise
	 PCRE2_INFO_MATCHLIMIT	    Match limit	if set,
				      otherwise	PCRE2_ERROR_UNSET
	 PCRE2_INFO_MAXLOOKBEHIND   Length (in characters) of the longest
				      lookbehind assertion
	 PCRE2_INFO_MINLENGTH	    Lower bound	length of matching strings
	 PCRE2_INFO_NAMECOUNT	    Number of named subpatterns
	 PCRE2_INFO_NAMEENTRYSIZE   Size of name table entries
	 PCRE2_INFO_NAMETABLE	    Pointer to name table
	 PCRE2_CONFIG_NEWLINE	    Code for the newline sequence:
	 PCRE2_INFO_SIZE	    Size of compiled pattern

       If  where is NULL, the function returns the amount of memory needed for
       the requested information, in bytes. Otherwise, the where argument must
       point to	an unsigned 32-bit integer (uint32_t variable),	except for the
       following what values, when it must point to a  variable	 of  the  type

	 PCRE2_INFO_FIRSTBITMAP	    const uint8_t *
	 PCRE2_INFO_JITSIZE	    size_t
	 PCRE2_INFO_SIZE	    size_t

       The yield of the	function is zero on success or:

	 PCRE2_ERROR_NULL	    the	argument code is NULL
	 PCRE2_ERROR_BADMAGIC	    the	"magic number" was not found
	 PCRE2_ERROR_BADOPTION	    the	value of what is invalid
	 PCRE2_ERROR_BADMODE	    the	pattern	was compiled in	the wrong mode
	 PCRE2_ERROR_UNSET	    the	requested information is not set

       There is	a complete description of the PCRE2 native API in the pcre2api
       page and	a description of the POSIX API in the pcre2posix page.

PCRE2 10.33		       14 February 2019		 PCRE2_PATTERN_INFO(3)


Want to link to this manual page? Use this URL:

home | help