PCRE C語言正規表示式

2021-06-06 13:37:05 字數 1077 閱讀 3189

#define pcre_static // 靜態庫編譯選項   

#include #include #include #define oveccount 30 /* should be a multiple of 3 */

#define ebuflen 128

#define buflen 1024

#pragma comment (lib,"pcre.lib")

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 釋放記憶體

printf("test:%*.*f\n",10,4,1234.34);

return 0;

}

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式與正則語言

正規表示式和正則語言是一致的。但能不能用正規表示式識別,是需要分析的。比如0與1一樣多的01串,是否可以識別?根據幫浦引理是不可以的,所以如果想通過正規表示式來處理,那將是歧途。01與10一樣多的,是可以識別的。因為通過分析後,可以知道01與10無論如何他們的個數不會差別超過1.所以可以據此構造有限...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...