C语言正则匹配库(regex.h)

简介: C语言正则匹配库(regex.h)

教程: https://blog.csdn.net/ljp1919/article/details/47753559

尝试:

#include<stdio.h>
#include<regex.h>
#include<string.h>
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(&reg, pattern, REG_EXTENDED);
  if (ret != 0)
  {
    printf("编译错误\n");
    return -1;
  }
  // 匹配
  ret = regexec(&reg, string, nmatch, pm, 0);
  if (ret == REG_NOMATCH)
  {
    printf("未匹配到结果\n");
    return 0;
  }
  else if (ret != 0)
  {
    printf("匹配错误\n");
    return -1;
  }
  // 输出匹配结果
  for (i=0;i<nmatch&&pm[i].rm_so!=-1;i++)
  {
    strncpy(buf, string+pm[i].rm_so, pm[i].rm_eo-pm[i].rm_so);
    printf("%d: %s\n", i, buf);
  }
  // 释放
  regfree(&reg);
  return 0;
}
目录
相关文章
|
2月前
|
程序员 编译器 C语言
C语言库函数 — 错误信息报告函数
C语言库函数 — 错误信息报告函数
31 0
|
2月前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
49 0
|
2月前
|
C语言 存储
C语言—部分库函数的模拟实现
C语言—部分库函数的模拟实现
|
17天前
|
存储 移动开发 C语言
技术心得记录:嵌入式开发中常用到的C语言库函数
技术心得记录:嵌入式开发中常用到的C语言库函数
11 1
|
18天前
|
C语言
C语言的标准库:string.h, math.h, stdlib.h
C语言的标准库:string.h, math.h, stdlib.h
14 1
|
19天前
|
C语言
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
【海贼王编程冒险 - C语言海上篇】库函数怎样模拟实现?
13 1
|
17天前
|
存储 C语言
C语言标准库介绍:<time.h>
C语言标准库介绍:<time.h>
11 0
|
17天前
|
C语言
C 语言 math.h 库介绍
C 语言 math.h 库介绍
12 0
|
17天前
|
C语言
C 语言 locale.h 库介绍
C 语言 locale.h 库介绍
10 0
|
2月前
|
程序员 C语言
C 语言标准库
C 语言标准库
27 3