教程: https://blog.csdn.net/ljp1919/article/details/47753559
尝试:
#include#include #include int main(int argn, char **argv) { char *pattern = "[0-9]*qq.com"; char *string = argv[1]; char buf[100]; int ret = 0; int i = 0; // 存放匹配后的信息 const size_t nmatch = 5; regmatch_t pm[5]; // 存放编译后的信息 regex_t reg; // 编译 ret = regcomp(®, pattern, REG_EXTENDED); if (ret != 0) { printf("编译错误n"); return -1; } // 匹配 ret = regexec(®, string, nmatch, pm, 0); if (ret == REG_NOMATCH) { printf("未匹配到结果n"); return 0; } else if (ret != 0) { printf("匹配错误n"); return -1; } // 输出匹配结果 for (i=0;i strncpy(buf, string+pm[i].rm_so, pm[i].rm_eo-pm[i].rm_so); printf("%d: %sn", i, buf); } // 释放 regfree(®); return 0; }



