欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
/**
*
* reg 指向编译后的正则表达式
* str 指向将要进行匹配的字符串
* pm str字符串中可能有多处和正则表达式相匹配, pm数组用来保存这些位置
* nmacth 指定pm数组最多可以存放的匹配位置数
*
* @return 函数匹配成功后,str+pm[0].rm_so到str+pm[0].rm_eo是第一个匹配的子串
* str+pm[1].rm_so到str+pm[1].rm_eo是第二个匹配的子串
* ….
*/
z = regexec(®, str, nmatch, pm, 0);
//没有找到匹配数据
if(z == REG_NOMATCH)
{
reg_rtn_struct_var.rtn = 1;
reg_rtn_struct_var.pstart = -1;
reg_rtn_struct_var.pend = -1;
regfree(®);
return reg_rtn_struct_var;
}
else if(z) //if(z !=0)
{
perror(“reg3”);
regerror(z, ®, ebuf, sizeof(ebuf));
fprintf(stderr, “%s: regcomp(‘%s’)\n”, ebuf, str);
reg_rtn_struct_var.rtn = 1;
reg_rtn_struct_var.pstart = -1;
reg_rtn_struct_var.pend = -1;
regfree(®);
return reg_rtn_struct_var;
}
/*列出匹配的位置*/
if(pm[0].rm_so != -1)
{
reg_rtn_struct_var.rtn = 0;
reg_rtn_struct_var.pstart = pm[0].rm_so;
reg_rtn_struct_var.pend = pm[0].rm_eo;
}
regfree(®);
return reg_rtn_struct_var;
}
[1][2][3]
可以有一个人陪着你,也可以你一个人,总之那一刻,