C语言正则表达式regex
From:?http://hi.baidu.com/david_jlu/blog/item/87ada1dbb9af6a60d0164eda.html
正則表達式在linux下應用非常廣泛,經常使用sed、awk、grep、vi、emacs等都支持正則表達式,處理最好的莫過于perl,perl把正則表達式內置到語言內,使用起來非常方便。正則表達式的最大功用就是減輕程序員負擔(程序員都很懶),簡化處理字符串的復雜度,用C寫一個split函數估計至少要15分鐘,而這些東東都已經成為正則表達式默認支持的工具了。
ISO標準是不支持正則表達式的,這也導致很多程序員放棄C而轉向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);
正常的使用方式:編譯正則表達式(regcomp)、匹配正則表達式(regexec)、釋放正則表達式(regfree)
下面是一個例子:
這個是匹配Email的程序,按照上面的三步走就可以。
?
總結
以上是生活随笔為你收集整理的C语言正则表达式regex的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CYQ.Data 数据框架 V4.0 开
- 下一篇: UnicodeDecodeError: