C语言
处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),
C语言中使用正则表达式一般分为三步:
编译正则表达式 regcomp()
匹配正则表达式 regexec()
释放正则表达式 regfree()
本篇文章主要是通过regcomp()、regexec()、regerror()、regfree()函数在c中的应用,复习正则表达式的用法。
程序一、email地址验证:
-
#include <stdio.h>
-
#include <sys/types.h>
-
#include <regex.h>
-
-
int
main(
int
argc,
char
* argv)
-
{
-
int
status,i;
-
int
cflags=REG_EXTENDED;
-
regmatch_t pmatch[1];
-
const
size_t
nmatch=1;
-
regex_t reg;
-
const
char
*pattern=
"^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*.\\w+([-.]\\w+)*$"
;
-
char
*buf=
"sdlcwangsong@sina.cn"
;
-
-
regcomp(®,pattern,cflags);
-
status=regexec(®,buf,nmatch,pmatch,0);
-
if
(status==REG_NOMATCH)
-
printf(
"No Match\n"
);
-
else
if
(status==0){
-
printf(
"Match:\n"
);
-
for
(i=pmatch[0].rm_so;i<pmatch[0].rm_eo;i++)
-
putchar(buf[i]);
-
printf(
"\n"
);
-
}
-
regfree(®);
-
return
0;
-
}
-
#include <stdio.h>
-
#include <sys/types.h>
-
#include <regex.h>
-
-
int
main(
int
argc,
char
* argv)
-
{
-
int
status,i;
-
int
cflags=REG_EXTENDED;
-
regmatch_t pmatch[1];
-
const
size_t
nmatch=1;
-
regex_t reg;
-
const
char
*pattern=
"^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9]).){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$"
;
-
-
char
*buf=
"192.68.16.39"
;
-
-
regcomp(®,pattern,cflags);
-
status=regexec(®,buf,nmatch,pmatch,0);
-
if
(status==REG_NOMATCH)
-
printf(
"No Match\n"
);
-
else
if
(status==0){
-
printf(
"Match:\n"
);
-
for
(i=pmatch[0].rm_so;i<pmatch[0].rm_eo;i++)
-
putchar(buf[i]);
-
printf(
"\n"
);
-
}
-
regfree(®);
-
return
0;
-
}
执行结果:
C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),C语言中使用正则表达式一般分为三步:编译正则表达式 regcomp()匹配正则表达式 regexec()释放正则表达式 regfree()本篇文章主要是通过regcomp()、regexec()、regerror()、regfree()函数在c中的应用,复习
C语言处理
正则表达式
常用的函数有regcomp()、regexec()、regfree()和regerror(),
C语言
中
使用
正则表达式
一般分为三步:
编译
正则表达式
regcomp()
匹配
正则表达式
regexec()
释放
正则表达式
regfree()
本篇文章主要是通过regcomp()、regexec()、regerror()、regfree()函数在c
中
的应用,复习正则
在实际开发
中
,作一些字符串的匹配时,
使用
正则表达式
来过滤匹配,代码更加简洁、匹配更加精准。为此,想到引入一个问题来总结记录一下 Linux C
中
正则表达式
的
使用
方法。
要求用户输入一串类似
IP地址
的字符串,该程序通过调用C库提供的
正则表达式
接口来实现判断用户输入的 IP 是否合法。
pcre *pcre_compile(const char *pattern, int options,
const char **errptr, int *erroffset,
const unsigned char *tableptr);
功能:...