十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C 正则表达式中IP的判定。

代码: ./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元起,快前往官网查看详情吧