README file for PCRE2 (Perl-compatible regular expression library)
------------------------------------------------------------------
PCRE2 is a re-working of the original PCRE1 library to provide an entirely new
API. Since its initial release in 2015, there has been further development of
the code and it now differs from PCRE1 in more than just the API. There are new
features, and the internals have been improved. The original PCRE1 library is
now obsolete and no longer maintained. The latest release of PCRE2 is available
in .tar.gz, tar.bz2, or .zip form from this GitHub repository:
https://github.com/PhilipHazel/pcre2/releases
There is a mailing list for discussion about the development of PCRE2 at
pcre2-dev@googlegroups.com. You can subscribe by sending an email to
pcre2-dev+subscribe@googlegroups.com.
You can access the archives and also subscribe or manage your subscription
here:
https://groups.google.com/pcre2-dev
Please read the NEWS file if you are upgrading from a previous release. The
contents of this README file are:
The PCRE2 APIs
Documentation for PCRE2
Contributions by users of PCRE2
Building PCRE2 on non-Unix-like systems
Building PCRE2 without using autotools
Building PCRE2 using autotools
Retrieving configuration information
Shared libraries
Cross-compiling using autotools
Making new tarballs
Testing PCRE2
Character tables
File manifest
The PCRE2 APIs
--------------
PCRE2 is written in C, and it has its own API. There are three sets of
functions, one for the 8-bit library, which processes strings of bytes, one for
the 16-bit library, which processes strings of 16-bit values, and one for the
32-bit library, which processes strings of 32-bit values. Unlike PCRE1, there
are no C++ wrappers.
The distribution does contain a set of C wrapper functions for the 8-bit
library that are based on the POSIX regular expression API (see the pcre2posix
man page). These are built into a library called libpcre2-posix. Note that this
just provides a POSIX calling interface to PCRE2; the regular expressions
themselves still follow Perl syntax and semantics. The POSIX API is restricted,
and does not give full access to all of PCRE2's facilities.
The header file for the POSIX-style functions is called pcre2posix.h. The
official POSIX name is regex.h, but I did not want to risk possible problems
with existing files of that name by distributing it that way. To use PCRE2 with
an existing program that uses the POSIX API, pcre2posix.h will have to be
renamed or pointed at by a link (or the program modified, of course). See the
pcre2posix documentation for more details.
Documentation for PCRE2
-----------------------
If you install PCRE2 in the normal way on a Unix-like system, you will end up
with a set of man pages whose names all start with "pcre2". The one that is
just called "pcre2" lists all the others. In addition to these man pages, the
PCRE2 documentation is supplied in two other forms:
1. There are files called doc/pcre2.txt, doc/pcre2grep.txt, and
doc/pcre2test.txt in the source distribution. The first of these is a
concatenation of the text forms of all the section 3 man pages except the
listing of pcre2demo.c and those that summarize individual functions. The
other two are the text forms of the section 1 man pages for the pcre2grep
and pcre2test commands. These text forms are provided for ease of scanning
with text editors or similar tools. They are installed in
<prefix>/share/doc/pcre2, where <prefix> is the installation prefix
(defaulting to /usr/local).
2. A set of files containing all the documentation in HTML form, hyperlinked
in various ways, and rooted in a file called index.html, is distributed in
doc/html and installed in <prefix>/share/doc/pcre2/html.
Building PCRE2 on non-Unix-like systems
---------------------------------------
For a non-Unix-like system, please read the file NON-AUTOTOOLS-BUILD, though if
your system supports the use of "configure" and "make" you may be able to build
PCRE2 using autotools in the same way as for many Unix-like systems.
PCRE2 can also be configured using CMake, which can be run in various ways
(command line, GUI, etc). This creates Makefiles, solution files, etc. The file
NON-AUTOTOOLS-BUILD has information about CMake.
PCRE2 has been compiled on many different operating systems. It should be
straightforward to build PCRE2 on any system that has a Standard C compiler and
library, because it uses only Standard C functions.
Building PCRE2 without using autotools
--------------------------------------
The use of autotools (in particular, libtool) is problematic in some
environments, even some that are Unix or Unix-like. See the NON-AUTOTOOLS-BUILD
file for ways of building PCRE2 without using autotools.
Building PCRE2 using autotools
------------------------------
The following instructions assume the use of the widely used "configure; make;
make install" (autotools) process.
If you have downloaded and unpacked a PCRE2 release tarball, run the
"configure" command from the PCRE2 directory, with your current directory set
to the directory where you want the files to be created. This command is a
standard GNU "autoconf" configuration script, for which generic instructions
are supplied in the file INSTALL.
The files in the GitHub repository do not contain "configure". If you have
downloaded the PCRE2 source files from GitHub, before you can run "configure"
you must run the shell script called autogen.sh. This runs a number of
autotools to create a "configure" script (you must of course have the autotools
commands installed in order to do this).
Most commonly, people build PCRE2 within its own distribution directory, and in
this case, on many systems, just running "./configure" is sufficient. However,
the usual methods of changing standard defaults are available. For example:
CFLAGS='-O2 -Wall' ./configure --prefix=/opt/local
This command specifies that the C compiler should be run with the flags '-O2
-Wall' instead of the default, and that "make install" should install PCRE2
under /opt/local instead of the default /usr/local.
If you want to build in a different directory, just run "configure" with that
directory as current. For example, suppose you have unpacked the PCRE2 source
into /source/pcre2/pcre2-xxx, but you want to build it in
/build/pcre2/pcre2-xxx:
cd /build/pcre2/pcre2-xxx
/source/pcre2/pcre2-xxx/configure
PCRE2 is written in C and is normally compiled as a C library. However, it is
possible to build it as a C++ library, though the provided building apparatus
does not have any features to support this.
There are some optional features that can be included or omitted from the PCRE2
library. They are also documented in the pcre2build man page.
. By default, both shared and static libraries are built. You can change this
by adding one of these options to the "configure" command:
--disable-shared
--disable-static
(See also "Shared libraries on Unix-like systems" below.)
. By default, only the 8-bit library is built. If you add --enable-pcre2-16 to
the "configure" command, the 16-bit library is also built. If you add
--enable-pcre2-32 to the "configure" command, the 32-bit library is also
built. If you want only the 16-bit or 32-bit library, use --disable-pcre2-8
to disable building the 8-bit library.
. If you want to include support for just-in-time (JIT) compiling, which can
give large performance improvements on certain platforms, add --enable-jit to
the "configure" command. This support is available only for certain hardware
architectures. If you try to enable it on an unsupported architecture, there
will be a compile time error. If in doubt, use --enable-jit=auto, which
enables JIT only if the current hardware is supported.
. If you are enabling JIT under SELinux environment you may also want to add
--enable-jit-sealloc, which enables the use of an
没有合适的资源?快使用搜索试试~ 我知道了~
nginx 离线安装包 pcre nginx 离线安装包 pcre
需积分: 1 5 下载量 20 浏览量
2023-06-13
20:53:46
上传
评论
收藏 2.25MB GZ 举报
温馨提示
共409个文件
html:95个
3:91个
c:57个
nginx 离线安装包 pcre
资源推荐
资源详情
资源评论
收起资源包目录
nginx 离线安装包 pcre nginx 离线安装包 pcre (409个子文件)
pcre2test.1 88KB
pcre2grep.1 48KB
pcre2-config.1 3KB
132html 7KB
pcre2api.3 175KB
pcre2pattern.3 159KB
pcre2build.3 23KB
pcre2demo.3 20KB
pcre2unicode.3 20KB
pcre2jit.3 19KB
pcre2syntax.3 19KB
pcre2callout.3 18KB
pcre2partial.3 17KB
pcre2posix.3 14KB
pcre2compat.3 11KB
pcre2perform.3 10KB
pcre2matching.3 9KB
pcre2serialize.3 9KB
pcre2.3 9KB
pcre2convert.3 6KB
pcre2_substitute.3 5KB
pcre2_pattern_info.3 4KB
pcre2_compile.3 4KB
pcre2_dfa_match.3 3KB
pcre2sample.3 3KB
pcre2_match.3 3KB
pcre2_config.3 3KB
pcre2limits.3 3KB
pcre2_serialize_encode.3 2KB
pcre2_pattern_convert.3 2KB
pcre2_serialize_decode.3 2KB
pcre2_jit_stack_assign.3 2KB
pcre2_callout_enumerate.3 2KB
pcre2_jit_compile.3 2KB
pcre2_substring_get_byname.3 2KB
pcre2_substring_list_get.3 2KB
pcre2_jit_match.3 2KB
pcre2_substring_copy_byname.3 2KB
pcre2_substring_get_bynumber.3 1KB
pcre2_match_data_create_from_pattern.3 1KB
pcre2_set_compile_extra_options.3 1KB
pcre2_substring_copy_bynumber.3 1KB
pcre2_substring_nametable_scan.3 1KB
pcre2_jit_stack_create.3 1KB
pcre2_match_data_create.3 1KB
pcre2_get_error_message.3 1KB
pcre2_set_compile_recursion_guard.3 1KB
pcre2_substring_number_from_name.3 1KB
pcre2_serialize_get_number_of_codes.3 1KB
pcre2_maketables.3 1KB
pcre2_set_newline.3 1KB
pcre2_get_mark.3 1010B
pcre2_substring_length_bynumber.3 1002B
pcre2_general_context_create.3 977B
pcre2_code_copy_with_tables.3 975B
pcre2_get_startchar.3 936B
pcre2_match_data_free.3 913B
pcre2_set_character_tables.3 912B
pcre2_code_copy.3 879B
pcre2_set_glob_escape.3 878B
pcre2_substring_length_byname.3 849B
pcre2_set_glob_separator.3 846B
pcre2_set_max_pattern_length.3 830B
pcre2_jit_free_unused_memory.3 825B
pcre2_set_substitute_callout.3 824B
pcre2_set_callout.3 777B
pcre2_compile_context_create.3 766B
pcre2_match_context_create.3 758B
pcre2_convert_context_create.3 757B
pcre2_converted_pattern_free.3 757B
pcre2_code_free.3 748B
pcre2_compile_context_free.3 729B
pcre2_convert_context_free.3 724B
pcre2_set_recursion_memory_management.3 723B
pcre2_general_context_copy.3 722B
pcre2_match_context_free.3 721B
pcre2_maketables_free.3 713B
pcre2_set_bsr.3 710B
pcre2_jit_stack_free.3 705B
pcre2_substring_list_free.3 704B
pcre2_substring_free.3 693B
pcre2_serialize_free.3 685B
pcre2_compile_context_copy.3 674B
pcre2_general_context_free.3 669B
pcre2_convert_context_copy.3 666B
pcre2_match_context_copy.3 664B
pcre2_get_ovector_pointer.3 648B
pcre2_set_parens_nest_limit.3 618B
pcre2_set_recursion_limit.3 592B
pcre2_set_depth_limit.3 580B
pcre2_set_heap_limit.3 577B
pcre2_set_offset_limit.3 576B
pcre2_get_ovector_count.3 575B
pcre2_set_match_limit.3 569B
pcre2_get_match_data_size.3 551B
configure.ac 41KB
Makefile.am 26KB
ar-lib 6KB
AUTHORS 749B
RunGrepTest.bat 34KB
共 409 条
- 1
- 2
- 3
- 4
- 5
资源评论
FLYINGONE2
- 粉丝: 22
- 资源: 20
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功