#define pcre_static // 靜態庫編譯選項
#include
#include
#include
#define oveccount 30 /* should be a multiple of 3 */
#define ebuflen 128
#define buflen 1024
int main()
rc = pcre_exec(re, // code, 輸入引數,用pcre_compile編譯好的正則表達結構的指標
null, // extra, 輸入引數,用來向pcre_exec傳一些額外的資料資訊的結構的指標
src, // subject, 輸入引數,要被用來匹配的字串
strlen(src), // length, 輸入引數, 要被用來匹配的字串的指標
0, // startoffset, 輸入引數,用來指定subject從什麼位置開始被匹配的偏移量
0, // options, 輸入引數, 用來指定匹配過程中的一些選項
ovector, // ovector, 輸出引數,用來返回匹配位置偏移量的陣列
oveccount); // ovecsize, 輸入引數, 用來返回匹配位置偏移量的陣列的最大大小
// 返回值:匹配成功返回非負數,沒有匹配返回負數
if (rc < 0)
printf("\nok, has matched ...\n\n"); //沒有出錯,已經匹配
for (i = 0; i < rc; i++)
pcre_free(re); // 編譯正規表示式re 釋放記憶體
return 0;
}
PCRE正規表示式語法
字元描述 將下乙個 字元標記為乙個特殊字元,或乙個原義字元,或向後引用,或乙個八進位制轉義符。例如,n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置,如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置 匹配輸入字串的結束位置。如果設定了regexp物...
關於pcre正規表示式庫libpcre
gcc 4.8中已經包含了std regex的標頭檔案 可是沒有實現,所以鏈結是失敗的 gcc 4.9完整的支援了c 11的regex。在4.9以前,可以尋求boost的regex。不過,我更熟悉pcre,基於perl的正規表示式的實現。將庫配置為交叉編譯,只生成靜態庫,配置pcre 如下 bin ...
windos下編譯正規表示式庫pcre
最近寫東西用到正規表示式到網上找了一大圈沒有發現好的,因為我用的是c 而且不想用atl。最終發現c寫的pcre挺好而且權威,php和python都用的它。言歸正轉下面說一下windows下編譯pcre的步驟 然後點 3.請注意這一條很重要哦,編譯靜態庫的時候要加預編譯pcre static巨集。接著...