【正则表达式】快速学习一个c语言的实例

简介: 【正则表达式】快速学习一个c语言的实例

一、概念梳理


1.为什么叫正则表达式?


这样的名字无疑让人一头雾水,反观英文名 regular expression-规则表达式。“一个字符串规则的表述”更加符合实际。

#include<stdio.h>
#include<sys/types.h>
#include<regex.h>
int my_match(char* pattern,char* buf){
  int status,i;
  int flag=REG_EXTENDED;
  regmatch_t pmatch[1];
  const size_t nmatch=1;
  regex_t  reg;
  //编译正则模式
  regcomp(®,pattern,flag);
  //执行正则表达式和缓存的比较
  status=regexec(®,buf,nmatch,pmatch,0);
  //打印匹配的字符串
  for(i=pmatch[0].rm_so;i<pmatch[0].rm_eo;++i){
    putchar(buf[i]);
  }
  printf("\n");
  regfree(®);
  return status;
}
int main(){
  char pattern[1024]="^[1-9][0-9]{10}$";
  char buf[1024]="41509030127";
  int status=my_match(pattern,buf);
  if(status==REG_NOMATCH)
    printf("No match!\n");
  else if(0 == status){
    printf("匹配成功!\n");
  }
  return 0;
}
相关文章
|
29天前
|
存储 编译器 C语言
初识C语言——详细入门(系统性学习day4)
初识C语言——详细入门(系统性学习day4)
|
30天前
|
Java 程序员
Java 异常处理与正则表达式详解,实例演练及最佳实践
在 Java 代码执行期间,可能会发生各种错误,包括程序员编码错误、用户输入错误以及其他不可预料的状况。 当错误发生时,Java 通常会停止并生成错误消息,这个过程称为抛出异常。 try...catch 语句 try 语句允许您定义一段代码块,并在其中测试是否发生错误。 catch 语句允许您定义一段代码块,当 try 块中发生错误时执行该代码块。 try 和 catch 关键字成对使用,语法如下:
42 0
|
1月前
|
编译器 程序员 开发工具
c语言从入门到实战——在系统学习C语言之前所需要了解的知识
C语言是一种通用的、过程式的计算机编程语言,支持结构化编程、词汇变量作用域和递归等功能,其设计提供了低级别的存取权限,并且要求程序员管理所有的内存细节。C语言的基本构成包括数据类型(如整型、浮点型、字符型等)、运算符(如算术运算符、关系运算符、逻辑运算符等)、控制结构(如顺序结构、选择结构、循环结构等)以及函数等。此外,C语言还提供了指针的概念,这是其他许多编程语言所不具备的。指针是一个变量,其值为另一个变量的地址,通过指针可以间接访问和操作内存中的数据。C语言也支持数组、结构体、联合体等复合数据类型,以及文件操作、动态内存分配等高级功能。
49 0
|
1月前
|
存储 C语言
通俗易懂的学习C语言中输入一组数并找出其最大值
通俗易懂的学习C语言中输入一组数并找出其最大值
|
1月前
|
Ubuntu 编译器 Linux
C语言中经典的结构体和联合体共用实例
C语言中经典的结构体和联合体共用实例
18 0
|
3月前
|
C语言
C语言实例——猴子吃桃
【1月更文挑战第17天】C语言实例——猴子吃桃。
39 1
|
3月前
|
C语言
C语言实例
【1月更文挑战第17天】C语言实例。
25 0
|
30天前
|
机器学习/深度学习 人工智能 Java
学习Python语言好还是C语言好
学习Python语言好还是C语言好
20 0
|
1月前
|
C语言
###51单片机学习-----如何通过C语言运用延时函数设计LED流水灯
###51单片机学习-----如何通过C语言运用延时函数设计LED流水灯
68 0
|
1月前
|
机器学习/深度学习 C语言
利用C语言实例描述程序中的内聚和耦合
利用C语言实例描述程序中的内聚和耦合
17 1