日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言正则表达式regex

發(fā)布時間:2023/12/9 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言正则表达式regex 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

From:?http://hi.baidu.com/david_jlu/blog/item/87ada1dbb9af6a60d0164eda.html

正則表達(dá)式在linux下應(yīng)用非常廣泛,經(jīng)常使用sed、awk、grep、vi、emacs等都支持正則表達(dá)式,處理最好的莫過于perl,perl把正則表達(dá)式內(nèi)置到語言內(nèi),使用起來非常方便。正則表達(dá)式的最大功用就是減輕程序員負(fù)擔(dān)(程序員都很懶),簡化處理字符串的復(fù)雜度,用C寫一個split函數(shù)估計至少要15分鐘,而這些東東都已經(jīng)成為正則表達(dá)式默認(rèn)支持的工具了。

ISO標(biāo)準(zhǔn)是不支持正則表達(dá)式的,這也導(dǎo)致很多程序員放棄C而轉(zhuǎn)向perl、python的原因,不過POSIX是支持的,我在APUE讀書筆記中提到過,就是regex.h:

#include <sys/types.h>
#include <regex.h>

int regcomp(regex_t *preg, const char *regex, int cflags);
int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags);
size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size);
void regfree(regex_t *preg);

正常的使用方式:編譯正則表達(dá)式(regcomp)、匹配正則表達(dá)式(regexec)、釋放正則表達(dá)式(regfree)

下面是一個例子:


這個是匹配Email的程序,按照上面的三步走就可以。


?

總結(jié)

以上是生活随笔為你收集整理的C语言正则表达式regex的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。