Annotation of embedaddon/pcre/doc/html/pcre.html, revision 1.1.1.2
1.1 misho 1: <html>
2: <head>
3: <title>pcre specification</title>
4: </head>
5: <body bgcolor="#FFFFFF" text="#00005A" link="#0066FF" alink="#3399FF" vlink="#2222BB">
6: <h1>pcre 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: <ul>
16: <li><a name="TOC1" href="#SEC1">INTRODUCTION</a>
17: <li><a name="TOC2" href="#SEC2">USER DOCUMENTATION</a>
18: <li><a name="TOC3" href="#SEC3">AUTHOR</a>
19: <li><a name="TOC4" href="#SEC4">REVISION</a>
20: </ul>
21: <br><a name="SEC1" href="#TOC1">INTRODUCTION</a><br>
22: <P>
23: The PCRE library is a set of functions that implement regular expression
24: pattern matching using the same syntax and semantics as Perl, with just a few
25: differences. Some features that appeared in Python and PCRE before they
26: appeared in Perl are also available using the Python syntax, there is some
27: support for one or two .NET and Oniguruma syntax items, and there is an option
28: for requesting some minor changes that give better JavaScript compatibility.
29: </P>
30: <P>
1.1.1.2 ! misho 31: Starting with release 8.30, it is possible to compile two separate PCRE
! 32: libraries: the original, which supports 8-bit character strings (including
! 33: UTF-8 strings), and a second library that supports 16-bit character strings
! 34: (including UTF-16 strings). The build process allows either one or both to be
! 35: built. The majority of the work to make this possible was done by Zoltan
! 36: Herczeg.
! 37: </P>
! 38: <P>
! 39: The two libraries contain identical sets of functions, except that the names in
! 40: the 16-bit library start with <b>pcre16_</b> instead of <b>pcre_</b>. To avoid
! 41: over-complication and reduce the documentation maintenance load, most of the
! 42: documentation describes the 8-bit library, with the differences for the 16-bit
! 43: library described separately in the
! 44: <a href="pcre16.html"><b>pcre16</b></a>
! 45: page. References to functions or structures of the form <i>pcre[16]_xxx</i>
! 46: should be read as meaning "<i>pcre_xxx</i> when using the 8-bit library and
! 47: <i>pcre16_xxx</i> when using the 16-bit library".
! 48: </P>
! 49: <P>
1.1 misho 50: The current implementation of PCRE corresponds approximately with Perl 5.12,
1.1.1.2 ! misho 51: including support for UTF-8/16 encoded strings and Unicode general category
! 52: properties. However, UTF-8/16 and Unicode support has to be explicitly enabled;
! 53: it is not the default. The Unicode tables correspond to Unicode release 6.0.0.
1.1 misho 54: </P>
55: <P>
56: In addition to the Perl-compatible matching function, PCRE contains an
57: alternative function that matches the same compiled patterns in a different
58: way. In certain circumstances, the alternative function has some advantages.
59: For a discussion of the two matching algorithms, see the
60: <a href="pcrematching.html"><b>pcrematching</b></a>
61: page.
62: </P>
63: <P>
64: PCRE is written in C and released as a C library. A number of people have
65: written wrappers and interfaces of various kinds. In particular, Google Inc.
1.1.1.2 ! misho 66: have provided a comprehensive C++ wrapper for the 8-bit library. This is now
! 67: included as part of the PCRE distribution. The
1.1 misho 68: <a href="pcrecpp.html"><b>pcrecpp</b></a>
69: page has details of this interface. Other people's contributions can be found
70: in the <i>Contrib</i> directory at the primary FTP site, which is:
71: <a href="ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre">ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre</a>
72: </P>
73: <P>
74: Details of exactly which Perl regular expression features are and are not
75: supported by PCRE are given in separate documents. See the
76: <a href="pcrepattern.html"><b>pcrepattern</b></a>
77: and
78: <a href="pcrecompat.html"><b>pcrecompat</b></a>
79: pages. There is a syntax summary in the
80: <a href="pcresyntax.html"><b>pcresyntax</b></a>
81: page.
82: </P>
83: <P>
84: Some features of PCRE can be included, excluded, or changed when the library is
85: built. The
86: <a href="pcre_config.html"><b>pcre_config()</b></a>
87: function makes it possible for a client to discover which features are
88: available. The features themselves are described in the
89: <a href="pcrebuild.html"><b>pcrebuild</b></a>
90: page. Documentation about building PCRE for various operating systems can be
91: found in the <b>README</b> and <b>NON-UNIX-USE</b> files in the source
92: distribution.
93: </P>
94: <P>
1.1.1.2 ! misho 95: The libraries contains a number of undocumented internal functions and data
1.1 misho 96: tables that are used by more than one of the exported external functions, but
97: which are not intended for use by external callers. Their names all begin with
1.1.1.2 ! misho 98: "_pcre_" or "_pcre16_", which hopefully will not provoke any name clashes. In
! 99: some environments, it is possible to control which external symbols are
! 100: exported when a shared library is built, and in these cases the undocumented
! 101: symbols are not exported.
1.1 misho 102: </P>
103: <br><a name="SEC2" href="#TOC1">USER DOCUMENTATION</a><br>
104: <P>
105: The user documentation for PCRE comprises a number of different sections. In
106: the "man" format, each of these is a separate "man page". In the HTML format,
107: each is a separate page, linked from the index page. In the plain text format,
108: all the sections, except the <b>pcredemo</b> section, are concatenated, for ease
109: of searching. The sections are as follows:
110: <pre>
111: pcre this document
1.1.1.2 ! misho 112: pcre16 details of the 16-bit library
1.1 misho 113: pcre-config show PCRE installation configuration information
114: pcreapi details of PCRE's native C API
115: pcrebuild options for building PCRE
116: pcrecallout details of the callout feature
117: pcrecompat discussion of Perl compatibility
1.1.1.2 ! misho 118: pcrecpp details of the C++ wrapper for the 8-bit library
1.1 misho 119: pcredemo a demonstration C program that uses PCRE
1.1.1.2 ! misho 120: pcregrep description of the <b>pcregrep</b> command (8-bit only)
1.1 misho 121: pcrejit discussion of the just-in-time optimization support
122: pcrelimits details of size and other limits
123: pcrematching discussion of the two matching algorithms
124: pcrepartial details of the partial matching facility
125: pcrepattern syntax and semantics of supported regular expressions
126: pcreperform discussion of performance issues
1.1.1.2 ! misho 127: pcreposix the POSIX-compatible C API for the 8-bit library
1.1 misho 128: pcreprecompile details of saving and re-using precompiled patterns
129: pcresample discussion of the pcredemo program
130: pcrestack discussion of stack usage
131: pcresyntax quick syntax reference
132: pcretest description of the <b>pcretest</b> testing command
1.1.1.2 ! misho 133: pcreunicode discussion of Unicode and UTF-8/16 support
1.1 misho 134: </pre>
135: In addition, in the "man" and HTML formats, there is a short page for each
1.1.1.2 ! misho 136: 8-bit C library function, listing its arguments and results.
1.1 misho 137: </P>
138: <br><a name="SEC3" href="#TOC1">AUTHOR</a><br>
139: <P>
140: Philip Hazel
141: <br>
142: University Computing Service
143: <br>
144: Cambridge CB2 3QH, England.
145: <br>
146: </P>
147: <P>
148: Putting an actual email address here seems to have been a spam magnet, so I've
149: taken it away. If you want to email me, use my two initials, followed by the
150: two digits 10, at the domain cam.ac.uk.
151: </P>
152: <br><a name="SEC4" href="#TOC1">REVISION</a><br>
153: <P>
1.1.1.2 ! misho 154: Last updated: 10 January 2012
1.1 misho 155: <br>
1.1.1.2 ! misho 156: Copyright © 1997-2012 University of Cambridge.
1.1 misho 157: <br>
158: <p>
159: Return to the <a href="index.html">PCRE index page</a>.
160: </p>
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>