複製鏈接
請複製以下鏈接發送給好友

PCRE

鎖定
PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。這些在執行正規表達式模式匹配時用與Perl 5同樣的語法和語義是很有用的。Boost太龐大了,使用boost regex後,程序的編譯速度明顯變慢。測試了一下,同樣一個程序,使用boost::regex編譯時需要3秒,而使用pcre不到1秒。因此改用pcre來解決C語言中使用正則表達式的問題
中文名
perl語言兼容正則表達式
外文名
PCRE
全    稱
Perl Compatible Regular Expre
屬    性
Perl庫

目錄

PCRE簡介

PCRE(Perl Compatible Regular Expressions中文含義:perl語言兼容正則表達式)是一個用C語言編寫的正則表達式函數庫,由菲利普.海澤(Philip Hazel)編寫。PCRE是一個輕量級的函數庫,比Boost之類的正則表達式庫小得多。PCRE十分易用,同時功能也很強大,性能超過了POSIX正則表達式庫和一些經典的正則表達式庫 [1] 
和Boost正則表達式庫的比較顯示 [2]  ,雙方的性能相差無幾,PCRE在匹配簡單字符串時更快,Boost則在匹配較長字符串時勝出---但兩者差距很小,考慮到PCRE的大小和易用性,我們可以認為PCRE更值得考慮。
PCRE被廣泛使用在許多開源軟件之中,最著名的莫過於Apache HTTP服務器和PHP腳本語言、R腳本語言,此外,正如從其名字所能看到的,PCRE也是perl語言的缺省正則庫。
PCRE是用C語言實現的,其C++實現版本是PCRE++。
PCRE最新的版本是8.33,可以在其官方網站下載,官網地址見擴展閲讀部分。

PCRE安裝與使用

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++程序,編譯命令為:g++ -I/usr/local/include/pcre -L/usr/local/lib/pcre -lpcrecpp file.cpp
也可用apt直接安裝:
apt-cache search pcre 查找pcre
下面只安裝pcrecpp
apt-get install libpcre++-dev 安裝pcrecpp開發文件
apt-get install libpcre++0 安裝pcrecpp庫文件
參考資料