正規表示式被稱為字串處理的魔術師,對於複雜的字串操作非常有用。由於標準c沒有自帶的正則庫,因此在c平台下一般採用pcre庫
以imagemagick中提取crop區域為例:
#include "pcre.h"
using namespace std;
#pragma comment(lib,"pcre.lib")
int main()
"; char cr_pattern= "/"cr/"://[/"//d+://d+/":/"(//d+,)(//d+)/"//]";
printf("string : %s/n", src);
printf("pattern: %s/n", v_pattern);
re = pcre_compile(cr_pattern, 0, &error, &erroffset, null);
if (re == null)
rc = pcre_exec(re, null, src, strlen(src), 0, 0, ovector, 100); //ovecter中儲存的是匹配的起始和結束的位置
if (rc < 0)
printf("/nok, has matched .../n/n");
printf("%d/n",rc);
for (i = 0; i < rc; i++)
free(re);
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...
正規表示式 表示式
網域名稱 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...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...