PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 兼容的库. 这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是很有用的。Boost太庞大了,使用boost regex后,程序的编译速度明显变慢。测试了一下,同样一个程序,使用boost::regex编译时需要3秒,而使用pcre不到1秒。因此改用 pcre来解决C语言中的问题
简介
PCRE(Perl Compatible Regular Expressions中文含义: 语言兼容 )是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。PCRE是一个轻量级的函数库,比Boost之中的 库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX 库和一些经典的正则表达式库 [1] 。
和Boost 库的比较显示 [2] ,双方的性能相差无几,PCRE在匹配简单字符串时更快,Boost则在匹配较长字符串时胜出---但两者差距很小,考虑到PCRE的大小和易用性,我们可以认为PCRE更值得考虑。
PCRE被广泛使用在许多 之中,最著名的莫过于Apache HTTP服务器和PHP 、R脚本语言,此外,正如从其名字所能看到的,PCRE也是 语言的缺省正则库。
PCRE是用C语言实现的,其C++实现版本是PCRE++。
PCRE最新的版本是8.12,可以在其官方网站下载,官网地址见扩展阅读部分。
安装与使用
PCRE的安装及使用
。
1、主页地址:www pcre org
下载pcre-7.8 tar bz2
2、 :
tar xjpf pcre-7.8 tar bz2
3、配置:
cd pcre-7.8
./configure --prefix=/usr/local/pcre-7.8 --libdir=/usr/local/lib/pcre --includedir=/usr/local/include/pcre
configure有许多参数可配,具体参见./configure --help及手册
4、编译:
make
5、安装:
make install
6、检查:
ls /usr/local 检查是否有pcre-7.8目录
ls /usr/local/lib 检查是否有pcre目录
ls /usr/local/include 检查是否有pcre目录
7、将库文件导入cache:
方法1:在/etc/ld.so.conf中加入: /usr/local/lib/pcre,然后运行ldconfig
方法2:在/etc/ld.so.conf.d/下新生成一个文件(或在其中的文件中加入同样内容),文件内容为:
/usr/local/lib/pcre,然后运行ldconfig
8、使用:
使用pcre编写C或C++程序,然后编译。
对于C程序,编译命令为:gcc -I/usr/local/include/pcre -L/usr/local/lib/pcre -lpcre file.c
对于C程序,编译命令为:gcc -I/usr/local/include/pcre -L/usr/local/lib/pcre -lpcrecpp file.cpp
也可用apt直接安装:
apt-cache search pcre 查找pcre
下面只安装pcrecpp
install libpcre++-dev 安装pcrecpp开发文件
install libpcre++0 安装pcrecpp库文件
参考资料
-
1..
-
2..