linux C正则表达式——POSIX正则测试

linux下的C语言POSIX正则表达式头文件和源文件: regex.h regex.cpp linux下posix标准的正则表达式库,支持regcomp, regexec等,可以放到vs2010或vs2012下进行编译。 立即下载

这是C的原程序

 

 

这是测试文件内容:

 

的rqyy rqyy

一ggll ggll

不gii gii

是jghu jghu

了bnh bnh是jghu jghu

我trnt trnt

他wbn wbn是jghu jghu

人wwww wwww

低点wqhk

低龄wqhw是jghu jghu

俄狄浦斯wqia

斧削wqie

低潮wqif是jghu jghu

低洼wqif

低温wqij

低沉wqip

低劣wqit

仰泳wqiy

你是wqjg

像是wqjg

含金量wqjg 

 

编译后执行

bash-4.0$ ./reg "[a-y]*$" <aaa  没有输出数据

13,13:

13,13:

11,11:

13,13:

23,23:

13,13:

23,23:

13,13:

11,11:

23,23:

17,17:

11,11:

23,23:

11,11:

11,11:

11,11:

11,11:

11,11:

11,11:

11,11:

14,14:

bash-4.0$ ./reg "[a-y]*" <aaa

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

bash-4.0$ ./reg "[a-y]" <aaa     //匹配到了一个字母

3,4:r

3,4:g

3,4:g

3,4:j

3,4:b

3,4:t

3,4:w

3,4:w

6,7:w

6,7:w

12,13:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

9,10:w

bash-4.0$ ./reg "[a-y]{1,}" <aaa      //匹配到了结尾四个字母

3,7:rqyy

3,7:ggll

3,6:gii

3,7:jghu

3,6:bnh

3,7:trnt

3,6:wbn

3,7:wwww

6,10:wqhk

6,10:wqhw

12,16:wqia

6,10:wqie

6,10:wqif

6,10:wqif

6,10:wqij

6,10:wqip

6,10:wqit

6,10:wqiy

6,10:wqjg

6,10:wqjg

9,13:wqjg

bash-4.0$ ./reg "[a-y]{1,} [a-y]{1,}" <aaa

3,12:rqyy rqyy

3,12:ggll ggll

3,10:gii gii

3,12:jghu jghu

3,10:bnh bnh

3,12:trnt trnt

3,10:wbn wbn

3,12:wwww wwww

13,22:jghu jghu

13,22:jghu jghu

bash-4.0$ ./reg "[:lower:]*" <aaa

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

bash-4.0$ ./reg "[:lower:]+" <aaa

3,4:r

5,7:ll

4,5:r

3,4:w

3,7:wwww

6,7:w

6,7:w

12,13:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

9,10:w

bash-4.0$ ./reg "[:lower:]+" <aaa

3,4:r

5,7:ll

4,5:r

3,4:w

3,7:wwww

6,7:w

6,7:w

12,13:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

9,10:w

bash-4.0$ ./reg "[:lower:]*" <aaa

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

0,0:

bash-4.0$ ./reg "[:lower:]{1,}" <aaa

3,4:r

5,7:ll

4,5:r

3,4:w

3,7:wwww

6,7:w

6,7:w

12,13:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

9,10:w

bash-4.0$ ./reg "[a-y]{1,} [a-y]{1,}" <aaa

3,12:rqyy rqyy

3,12:ggll ggll

3,10:gii gii

3,12:jghu jghu

3,10:bnh bnh

3,12:trnt trnt

3,10:wbn wbn

3,12:wwww wwww

13,22:jghu jghu

13,22:jghu jghu

bash-4.0$ ./reg "[a-y]{1,}" <aaa

3,7:rqyy

3,7:ggll

3,6:gii

3,7:jghu

3,6:bnh

3,7:trnt

3,6:wbn

3,7:wwww

6,10:wqhk

6,10:wqhw

12,16:wqia

6,10:wqie

6,10:wqif

6,10:wqif

6,10:wqij

6,10:wqip

6,10:wqit

6,10:wqiy

6,10:wqjg

6,10:wqjg

9,13:wqjg

bash-4.0$ ./reg "[:lower:]{1,}" <aaa

3,4:r

5,7:ll

4,5:r

3,4:w

3,7:wwww

6,7:w

6,7:w

12,13:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

6,7:w

9,10:w

bash-4.0$ ./reg "[a-y]{1,}" <aaa

3,7:rqyy

3,7:ggll

3,6:gii

3,7:jghu

3,6:bnh

3,7:trnt

3,6:wbn

3,7:wwww

6,10:wqhk

6,10:wqhw

12,16:wqia

6,10:wqie

6,10:wqif

6,10:wqif

6,10:wqij

6,10:wqip

6,10:wqit

6,10:wqiy

6,10:wqjg

6,10:wqjg

9,13:wqjg

正在研究正则表达式的匹配说明

 

Linux下的C语言正则表达式 C语言不包含STL中的大量的数据结构,为此,要在C语言中使用正则式,需要使用另外单独的其他的库,本资源是可以直接使用的正则式库,通过验证 立即下载

相关推荐

WPF窗口定位技巧:从基础到高级的三种实现方法

本文详细解析WPF窗口定位的三种核心方法:屏幕居中(CenterScreen)、父窗口居中(CenterOwner)和手动定位(Manual)。通过对比其适用场景、实现代码与注意事项,帮助开发者根据实际需求选择最佳方案,从而提升WPF应用程序的用户体验与专业度。

weixin_29224309的博客 272

linux C 中使用正则表达式

<br />正则表达式定义<br />正则表达式(regular expression)是Linux系统中一种非常重要的字符串搜索模式,是一组规则字符的集合。这些规则字符能够组成我们所需要的搜索规则,效率高、功能强,可以极大地简化处理字符串时的复杂度。在很多Linux工具(sed、grep、find等)和脚本语言(awk、perl等)中都有着重要的地位。当我们在编写字符串相关的应用程序时,掌握正则表达式会起到事半功倍的效果。<br />C中的正则表达式<br />标准C和C++都不支持正则表达式,但是千万不

qiaoxx094的专栏 1418

PADS Layout中快速导入自定义元器件封装的实用技巧

本文详细介绍了在PADS Layout中高效导入自定义元器件封装的实用技巧。针对封装“找不到”、“对不上”、“导不进”三大痛点,系统梳理了从封装文件来源识别、库规划管理,到三种核心导入场景(从库文件添加、从其他设计借用、处理第三方格式)的完整操作流程,并提供了导入后的关键验证清单与常见问题排查方法,旨在帮助硬件工程师快速掌握这一提升设计效率的关键技能。

weixin_29302047的博客 375

嵌入式Linux系统编程 — 4.7 regcomp、regexec、regfree正则表达式函数

正则表达式又称为规则表达式(Regular Expression),正则表达式通常被用来检索、替换那些符合某个模式(规则)的字符串,正则表达式描述了一种字符串的匹配模式(pattern),可以用来检查一个给定的字符串中是否含有某种子字符串、将匹配的字符串替换或者从某个字符串中取出符合某个条件的子字符串。在 Linux 系统下运行命令的时候,使用过?或*通配符来查找硬盘上的文件或者文本中的某个字符串,?通配符匹配 0 个或 1 个字符,而*通配符匹配 0 个或多个字符,譬如"data?

几度春风里的博客 1938

D触发器版图设计的艺术:最小化面积与最大化性能的平衡之道

本文探讨了D触发器版图设计中如何平衡最小化面积与最大化性能的核心挑战。通过分析晶体管布局、互联优化、时钟分布等关键策略,结合先进制程下的功耗与信号完整性考量,为数字IC工程师提供了从基础优化到制造验证的实用解决方案,助力实现高性能、低面积的芯片设计。

aa123的博客 910

保姆级教程:用MATLAB搞定双目相机标定,从导入图片到参数解读全流程

本文提供了一份详细的MATLAB双目相机标定全流程指南,涵盖从图片准备到参数解读的每个环节。重点讲解了棋盘格选择、拍摄技巧、MATLAB工具箱设置及参数优化,帮助读者避免常见错误并提升标定精度。特别适合机器人导航、三维重建等领域的开发者。

weixin_33737134的博客 429

linux C编程13-正则表达式

目录 1、regmatch_t结构体 2、regcomp()函数 3、regexec()函数 4、regfree()函数 5、regerror()函数 1、regmatch_t结构体 regmatch_t 是一个结构体数据类型。通常以数组的形式定义一组这样的结构,因为往往正则表达式中还包含子正则表达式。数组0单元存放主正则表达式位置,后边的单元依次存放子正则表达式位置。 typedef struct { regoff_t rm_so; regoff_t rm_eo; } reg

qq_37932504的博客 2008

mapbox高阶,加载倾斜摄影

本文详细介绍如何基于mapbox-gl v3.8.0版本实现倾斜摄影的加载,亲测可用。希望能帮助到您。一起学习,加油!加油!

我哎GIS博客 345

正则表达式简单总结

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE) 由一类特殊字符及文本字符所编写的模式,其中有些字符(元字符)不表示字符字面意义,而表示控制或通配的功能。   程序支持:grep,sed,awk,vim, less,nginx,varnish等 分为两类:     基本正则表达式:BRE     扩展正则表达式:E...

qq_24883833的博客 294

7、Python高光谱分析工具(PyHAT)简介

Python高光谱分析工具(PyHAT)是一个开源、跨平台的Python库及图形用户界面,用于行星光谱数据的可视化与分析。它支持多种高光谱传感器数据,如火星勘测轨道飞行器的CRISM、月船1号的M3以及SELENE Kaguya SP点光谱仪,提供预处理、衍生产品生成、统计学习和机器学习分析功能。PyHAT基于Pandas和NumPy构建,兼容Jupyter和QGIS环境,旨在解决现有光谱分析方法缺乏开源实现、难以探索性分析和算法分散的问题。其模块化架构涵盖数据输入/输出、通用光谱变换、测绘与点观测工具及高

aa123的博客 138

Spring 核心技术解析【纯干货版】- I:Spring 基础模块 Spring-Core 模块精讲

Spring-Core 模块,是 Spring 核心容器模块之一。虽然 “Core” 本身就有 “核心的,重要的部分” 的含义,但是它并非是实现(常被我们说为 Spring 核心机制)IOC / AOP 的模块。Spring 中的 IOC 机制,主要来自于 BeanFactory 容器和 ApplicationContext 容器,这二者分别由同为核心容器模块的 Spring-Bean 模块 和 Spring-Context 模块所提供。

栗筝i的博客 2525

linux c语言 free(),C语言正则表达式详解 regcomp() regexec() regfree()详解

标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版本都带有这个函数库。C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),一般分为三个步骤,如下所示:C语言中使用正则...

weixin_28759725的博客 478

【unity实战】Cinemachine虚拟相机实战,使用InputSystem+Cinemachine+CharacterController复刻各种主流游戏的相机控制

这里主要是探讨如何使用InputSystem+Cinemachine+CharacterController复刻各种主流游戏的相机控制,我们主要专注Cinemachine实战效果,所以并不会深入讨论Cinemachine和CharacterController比较细节的参数介绍。注意:前面为了测试方便,我还是先用的旧的输入系统代替InputSystem【推荐100个unity插件之10】Unity最全的最详细的Cinemachine(虚拟相机系统)介绍,详细案例讲解,快速上手。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3751

Linux下C/C++头文件作用介绍

1、 Linux中一些头文件的作用: :ANSI C。提供断言,assert(表达式) :GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含 :GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等 :ANSI C。字符测试函数。i

巫山老妖 1719

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

linux正则表达式删除文件,linux正则表达式【处置办法】

虽然电脑已经很普遍了,但是一些年长的人对电脑的操作不是很熟悉,比如在使用win7系统时一旦遇到linux正则表达式时就懵了,对于linux正则表达式处理起来相对来说较简单,按照我们的步骤处理linux正则表达式很容易上手,linux正则表达式具体处理方法如下:linux 中 ^[^abc] 正则表达式什么意思答:^代表行首,$代表行尾 1、^[a-z]匹配以小写字母开头的字符串 2、[^a-z] ...

weixin_39867208的博客 1282

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

linux c语言正则表达式,C/C++中使用的正则表达式库

正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则引擎主要可以分为两大类:一种是DFA,一种是NFA。主流的正则引擎又分为3类:1. DFA引擎DFA 引擎在线性时状态下执行,因为它们不要求回溯(并因此它们永远不测试相同的字符两次)。DFA 引擎还可以确保匹配最长的可...

weixin_39966644的博客 341

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Linux命令——正则表达式

简单地说,正则表达式是一种用于识别文本模式的符号表示法,在某种程度上类似于匹配文件和路径名的Shell通配符,但用途更广。许多命令行工具和大多数编程语言支持正则表达式,以便于解决文本操作方面的问题。然而,事情没那么简单,正则表达式并非全都相同;不同的工具,不同的编程语言,其正则表达式实现都略有差异。在本书中,我们将正则表达式限定在POSIX标准范围内(该标准范围涵盖了大多数命令行工具)​,相较于许多编程语言(典型的是Perl)​,POSIX使用的符号写法要略微丰富一些。

吴声子夜歌的博客 275

day28-正则表达式和三剑客

正则表达式就是为了处理大量的字符串而定义的一套规则和方法。通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。Linux 正则表达式一般以行为单位处理的。基础正则 BRE.*[abc][^abc]\{n,m\}egrep被淘汰,使用grep -E可以是用grep -o参数,查看每次匹配的结果正则需要在练习中理解其含义,无法死记硬背后面结合sed、awk发挥更多正则作用。

hcb20010421的博客 862

linux操作系统基础实训5正则表达式,Linux操作系统基础解析之(五)——grep命令家族及正则表达式初识...

grep号称文本处理三剑客之一,虽然说是三剑客中功能最少也是最简单的,但仍然不能小觑。grep的全称为:Global search REgular expression and Print out the line,即:全面查找正则表达式并将匹配的行显示出来。那么这里面出现了一个新的概念:正则表达式。那么什么是正则表达式呢?正则表达式,又称正规表示法、常规表示法英语:(Regular Expres...

weixin_39951181的博客 621

linux正则表达式测试器,Shell学习篇:正则表达式和文本处理工具

原标题:Shell学习篇:正则表达式和文本处理工具一 什么是正则正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法。或者说:正则就是用来描述一类事物的规则。生活中处处都是正则:比如我们描述:4条腿你可能会想到的是四条腿的动物或者桌子,椅子等继续描述:4条腿,活的就只剩下四条腿的动物这一类了在linux中,通配符是由shell解释的,而正则表达式则是由命令解释的,...

weixin_32563347的博客 299

linux C 中使用正则表达式(转)

#include #include #include /* 取子串的函数 */ static char* substr(const char*str, unsigned start, unsigned end) { unsigned n = end - start; static char stbuf[256]; strncpy(stbuf, str + start, n); st

linux/unix 1436

17、文本搜索工具-grep、正则表达式

编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用广输入,例如: test1、test2、test3、…10、RHCE——十、防火墙、iptables、firewalld。17、RHCE——十七、文本搜索工具-grep、正则表达式。6、RHCE——六、基于https协议的静态网站。16、RHCE——十六、流程控制之条件判断、循环。18、RHCE——十八、shell编程之sed。15、RHCE——十五、shell条件测试。12、RHCE——十二、Mysql服务。

So lukcy To meet you(づ ●─● )づ 1148

glibc POSIX标准兼容性深度解析:Linux系统的基石实现

欢迎来到glibc POSIX标准兼容性的深度解析!🚀 作为Linux系统中最核心的C标准库,glibc的POSIX兼容性直接决定了Linux系统与其他Unix-like系统的互操作性和可移植性。本文将为您详细解析glibc如何实现并超越POSIX标准,为您的Linux开发提供坚实的理论基础。💡 ## 什么是POSIX标准? POSIX(Portable Operating System

gitblog_00568的博客 827

linux下C语言的一个正则表达式库:pcre

PCRE是一个NFA正则引擎,不然不能提供完全与Perl一致的正则语法功能。但它同时也实现了DFA,只是满足数学意义上的正则。   PCRE提供了19个接口函数,为了简单介绍,使用PCRE内带的测试程序(pcretest.c)示例用法。 1. pcre_compile        原型:          #include pcre *pcre_compile(const cha

eeeeelin的专栏 1072
上一篇: linux C正则表达式
下一篇: GNU C Library——最全的C函数说明
DreamFlyingFish
博客等级 码龄20年 7粉丝 23原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值