C/C++正则表达式-创新互联

C 正则表达式中IP的判定。

成都创新互联是一家专注于网站制作、网站建设与策划设计,公安网站建设哪家好?成都创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:公安等地区。公安做网站价格咨询:13518219792

代码:   ./func   "^([0-9]{1,3}\.){3}[0-9]{1,3}$"  "192.168.42.168"

#include#include#includeint main(int argc,char** argv)
{
    if(argc != 3)
    {
         printf("usage:%s regexstring and text\n",argv[0]);
    }
   
    const char* p_regex_str = argv[1];
    const char* p_txt = argv[2];
    regex_t oregex;
    int ret = 0;
    char emsg[1024] = {0};
    size_t emsg_len = 0;

    if(( ret = regcomp(&oregex,p_regex_str,REG_EXTENDED|REG_NOSUB)) == 0 )
    {
        if( (ret = regexec(&oregex,p_txt,0,NULL,0)) == 0 )
        {
             printf("%s matches %s\n",p_txt,p_regex_str);
             regfree(&oregex);
             return 0;  
        }    
    }

    emsg_len = regerror(ret,&oregex,emsg,sizeof(emsg));
    emsg_len = emsg_len< sizeof(emsg)? emsg_len : sizeof(emsg) -1;
    emsg[emsg_len] = '\0';
    regfree(&oregex);
    return 1;
}

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文名称:C/C++正则表达式-创新互联
分享地址:http://hbruida.cn/article/jjdji.html