pcre_fullinfo.3 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. .TH PCRE_FULLINFO 3 "21 April 2014" "PCRE 8.36"
  2. .SH NAME
  3. PCRE - Perl-compatible regular expressions
  4. .SH SYNOPSIS
  5. .rs
  6. .sp
  7. .B #include <pcre.h>
  8. .PP
  9. .nf
  10. .B int pcre_fullinfo(const pcre *\fIcode\fP, "const pcre_extra *\fIextra\fP,"
  11. .B " int \fIwhat\fP, void *\fIwhere\fP);"
  12. .sp
  13. .B int pcre16_fullinfo(const pcre16 *\fIcode\fP, "const pcre16_extra *\fIextra\fP,"
  14. .B " int \fIwhat\fP, void *\fIwhere\fP);"
  15. .sp
  16. .B int pcre32_fullinfo(const pcre32 *\fIcode\fP, "const pcre32_extra *\fIextra\fP,"
  17. .B " int \fIwhat\fP, void *\fIwhere\fP);"
  18. .fi
  19. .
  20. .SH DESCRIPTION
  21. .rs
  22. .sp
  23. This function returns information about a compiled pattern. Its arguments are:
  24. .sp
  25. \fIcode\fP Compiled regular expression
  26. \fIextra\fP Result of \fBpcre[16|32]_study()\fP or NULL
  27. \fIwhat\fP What information is required
  28. \fIwhere\fP Where to put the information
  29. .sp
  30. The following information is available:
  31. .sp
  32. PCRE_INFO_BACKREFMAX Number of highest back reference
  33. PCRE_INFO_CAPTURECOUNT Number of capturing subpatterns
  34. PCRE_INFO_DEFAULT_TABLES Pointer to default tables
  35. PCRE_INFO_FIRSTBYTE Fixed first data unit for a match, or
  36. -1 for start of string
  37. or after newline, or
  38. -2 otherwise
  39. PCRE_INFO_FIRSTTABLE Table of first data units (after studying)
  40. PCRE_INFO_HASCRORLF Return 1 if explicit CR or LF matches exist
  41. PCRE_INFO_JCHANGED Return 1 if (?J) or (?-J) was used
  42. PCRE_INFO_JIT Return 1 after successful JIT compilation
  43. PCRE_INFO_JITSIZE Size of JIT compiled code
  44. PCRE_INFO_LASTLITERAL Literal last data unit required
  45. PCRE_INFO_MINLENGTH Lower bound length of matching strings
  46. PCRE_INFO_MATCHEMPTY Return 1 if the pattern can match an empty string,
  47. 0 otherwise
  48. PCRE_INFO_MATCHLIMIT Match limit if set, otherwise PCRE_RROR_UNSET
  49. PCRE_INFO_MAXLOOKBEHIND Length (in characters) of the longest lookbehind assertion
  50. PCRE_INFO_NAMECOUNT Number of named subpatterns
  51. PCRE_INFO_NAMEENTRYSIZE Size of name table entry
  52. PCRE_INFO_NAMETABLE Pointer to name table
  53. PCRE_INFO_OKPARTIAL Return 1 if partial matching can be tried
  54. (always returns 1 after release 8.00)
  55. PCRE_INFO_OPTIONS Option bits used for compilation
  56. PCRE_INFO_SIZE Size of compiled pattern
  57. PCRE_INFO_STUDYSIZE Size of study data
  58. PCRE_INFO_FIRSTCHARACTER Fixed first data unit for a match
  59. PCRE_INFO_FIRSTCHARACTERFLAGS Returns
  60. 1 if there is a first data character set, which can
  61. then be retrieved using PCRE_INFO_FIRSTCHARACTER,
  62. 2 if the first character is at the start of the data
  63. string or after a newline, and
  64. 0 otherwise
  65. PCRE_INFO_RECURSIONLIMIT Recursion limit if set, otherwise PCRE_ERROR_UNSET
  66. PCRE_INFO_REQUIREDCHAR Literal last data unit required
  67. PCRE_INFO_REQUIREDCHARFLAGS Returns 1 if the last data character is set (which can then
  68. be retrieved using PCRE_INFO_REQUIREDCHAR); 0 otherwise
  69. .sp
  70. The \fIwhere\fP argument must point to an integer variable, except for the
  71. following \fIwhat\fP values:
  72. .sp
  73. PCRE_INFO_DEFAULT_TABLES const uint8_t *
  74. PCRE_INFO_FIRSTCHARACTER uint32_t
  75. PCRE_INFO_FIRSTTABLE const uint8_t *
  76. PCRE_INFO_JITSIZE size_t
  77. PCRE_INFO_MATCHLIMIT uint32_t
  78. PCRE_INFO_NAMETABLE PCRE_SPTR16 (16-bit library)
  79. PCRE_INFO_NAMETABLE PCRE_SPTR32 (32-bit library)
  80. PCRE_INFO_NAMETABLE const unsigned char * (8-bit library)
  81. PCRE_INFO_OPTIONS unsigned long int
  82. PCRE_INFO_SIZE size_t
  83. PCRE_INFO_STUDYSIZE size_t
  84. PCRE_INFO_RECURSIONLIMIT uint32_t
  85. PCRE_INFO_REQUIREDCHAR uint32_t
  86. .sp
  87. The yield of the function is zero on success or:
  88. .sp
  89. PCRE_ERROR_NULL the argument \fIcode\fP was NULL
  90. the argument \fIwhere\fP was NULL
  91. PCRE_ERROR_BADMAGIC the "magic number" was not found
  92. PCRE_ERROR_BADOPTION the value of \fIwhat\fP was invalid
  93. PCRE_ERROR_UNSET the option was not set
  94. .P
  95. There is a complete description of the PCRE native API in the
  96. .\" HREF
  97. \fBpcreapi\fP
  98. .\"
  99. page and a description of the POSIX API in the
  100. .\" HREF
  101. \fBpcreposix\fP
  102. .\"
  103. page.