"); //-->
#include
#include
#include
#include
#include
//对输入的模式与待匹配的字符串进行匹配;成功返回0;
//pattern : 模式
// buf : 待匹配的字符串;
int regexp(char *pattern, char * buf)
{
regex_t reg;
int status = 0;
int cflags = REG_EXTENDED|REG_NOSUB;
char error[32];
/* 编译正则表达式*/
status = regcomp (®, pattern, cflags);
if (status != 0)
{
regerror(status, ®, error, sizeof(error));
printf("regcomp ERROR -> %s: pattern '%s'\n", pattern, error);
return -1;
}
//进行匹配
status = regexec(®, buf, 0, NULL, 0);
if(status != 0)
{
if(status != REG_NOMATCH)
{
regerror(status, ®, error, sizeof(error));
printf("regexec -> NON REG_NOMATCH -> ERROR -> status = %d: '\n", error);
status = -2;
}
else if(status == REG_NOMATCH)
{
printf("regexec -> REG_NOMATCH -> ERROR -> status = %d: '\n", error);
status = -3;
}
}
else
{
printf("regexec -> REG_NOMATCH -> SUCCESS -> pattern = %s, buf = %s \n", pattern, buf);
status = 0;
}
/* 输出处理结果 */
//如果有必要可以输出匹配的结果;
/* 释放正则表达式 */
regfree(®);
//返回处理结果;
return status;
}
/* 主程序 */
int main(int argc, char** argv)
{
//char * pattern = "^[0-9]*[1-9][0-9]*$";
char *pattern = "^[0-9]+$";
//char *pattern = "^\\d+$";
char *buf = "00000";
int a = regexp(pattern, buf);
printf("main -> INFO -> a = %d \n", a);
}
注:不支持正则表达式的控制。
Linux好学堂, www.linuxhao.com,是学习Linux应用开发综合性技术网站,类目包括Linux安装指南,Linux系统管理,Linux网络应用,Linux服务器技术,Linux编程开发,Linux下载中心,并提供Linux视频教程,Linux培训教程,Linux技术资料免费下载与资源共享等服务。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
试验六:Flash驱动
村田制作所与Rohde & Schwarz公司联合开发用于测量Digital Envelope Tracking的省电效果的RF系统
时尚的光芒难掩技术上的尴尬 国产手机痛失彩信市场
LC2210互锁输出的应用电路
如意133接听2角/分钟 北京“神州行”下周应招
实时系统的实现(PDF)
电子科技大学--嵌入式系统应用开发技术17
全国大学生电子设计竞赛试题
LC2210的典型应用电路
LC2210的输出连接方式
五大电信巨头联合发起 电信设备接口将统一
电源管理小技巧:功率 MOSFET 特性
电子科技大学--嵌入式系统应用开发技术18
LC2210锁定开关的设置
尼得科商用及工程车辆业务部门墨西哥工厂的低压异步电机自动化产线正式投产
声控收音机
电子科技大学--嵌入式系统应用开发技术14
MC145026~MC145030引脚功能图
BG22L和BG24L精简版蓝牙SoC推动智能物联网走向更广天地
OTFT和非晶硅晶体管有什么区别?
基于onsemi NCP681的图腾柱 PFC 控制器的AC/DC医疗级600W适配器
ADAS系统中的传感器创新如何在道路交通中挽救生命
电子科技大学--嵌入式系统应用开发技术15
芯片战场:巨头博弈四大关键市场!
实时时钟与定时器驱动实验
Diodes公司的碳化硅肖特基二极管提供领先业界的FoM及系统效率
WACOM推出“非凡J-420”数位板
我这几天出差
电子科技大学--嵌入式系统应用开发技术16
基于意法半导体STM32G473和STDRIVE 101的电池供电BLDC/PMSM电动工具