【正则表达式】快速学习一个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; }
相关文章
- Java 正则表达式的用法和实例
- Python-OpenCV,基于标准文档的实例(一)
- Jmeter正则表达式提取器获取Token-简单实例「建议收藏」
- python正则表达式+正则大量实例详解编程语言
- Java经典实例:正则表达式,替换匹配的文本详解编程语言
- Java经典实例:正则表达式,找到匹配的文本详解编程语言
- Java经典实例:使用正则表达式:测试模式详解编程语言
- Linux下IP流量统计实例分析(linuxip流量统计)
- 表达式SQL Server正则表达式应用实例研究(sqlserver 正则)
- Oracle练习使用6个实例表练习sql查询(oracle六个练习表)
- 挑战失败创建Redis实例遭遇挫折(创建redis实例失败)
- 技术Oracle DB实例技术从入门到精通(oracle db实例)
- 常用的匹配正则表达式和实例
- php中看实例学正则表达式
- asp.net下配置数据源时出现:未将对象引用设置到对象的实例。
- 浅析javascript闭包实例分析
- sql语句查询数据库中的表名/列名/主键/自动增长值实例
- SQL语句实例说明方便学习mysql的朋友
- json实现jsp分页实例介绍(附效果图)
- java正则表达式提取数字的方法实例
- 百度判断手机终端并自动跳转js代码及使用实例
- php之curl设置超时实例
- python实现ipsec开权限实例