PCRE

PCRE

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

簡介

PCRE(Perl Compatible Regular Expressions中文含義:perl語言兼容正則表達式)是一個用C語言編寫的正則表達式函式館,由菲利普.海澤(Philip Hazel)編寫。PCRE是一個輕量級的函式館,比Boost之類的正則表達式庫小得多。PCRE十分易用,同時功能也很強大,性能超過了POSIX正則表達式庫和一些經典的正則表達式庫 。

和Boost正則表達式庫的比較顯示 ,雙方的性能相差無幾,PCRE在匹配簡單字元串時更快,Boost則在匹配較長字元串時勝出---但兩者差距很小,考慮到PCRE的大小和易用性,我們可以認為PCRE更值得考慮。

PCRE被廣泛使用在許多開源軟體之中,最著名的莫過於Apache HTTP伺服器和PHP腳本語言、R腳本語言,此外,正如從其名字所能看到的,PCRE也是perl語言的預設正則庫。

PCRE是用C語言實現的,其C++實現版本是PCRE++。

PCRE最新的版本是8.33,可以在其官方網站下載,官網地址見擴展閱讀部分。

安裝與使用

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庫檔案

相關詞條

熱門詞條

聯絡我們