【正则表达式】快速学习一个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;
}
相关文章
|
16天前
|
存储 网络协议 算法
【C语言】进制转换无难事:二进制、十进制、八进制与十六进制的全解析与实例
进制转换是计算机编程中常见的操作。在C语言中,了解如何在不同进制之间转换数据对于处理和显示数据非常重要。本文将详细介绍如何在二进制、十进制、八进制和十六进制之间进行转换。
27 5
|
2月前
|
测试技术 Perl
一个提高效率的工具,正则表达式,值得学习一下!
一个提高效率的工具,正则表达式,值得学习一下!
|
2月前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
19 0
|
2月前
|
JavaScript 前端开发 Scala
Python学习十:正则表达式
这篇文章是关于Python中正则表达式的使用,包括re模块的函数、特殊字符、匹配模式以及贪婪与非贪婪模式的详细介绍。
19 0
|
4月前
|
编译器 C语言
C语言函数的学习
掌握函数的使用是学习C语言的关键一环,理解和应用这些基本的函数概念将使你能够更有效地利用C语言的强大功能。
25 0
|
6月前
|
存储 编译器 C语言
c语言学习历程【1】
c语言学习历程【1】
78 1
|
5月前
|
存储 JavaScript 前端开发
|
5月前
|
Java
正则表达式在Java中的应用与实例
正则表达式在Java中的应用与实例
|
6月前
|
C语言
|
6月前
|
C语言