0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

C语言如何使用正则表达式

C语言编程学习基地 来源:C语言编程学习基地 作者:C语言编程学习基地 2022-03-16 08:41 次阅读

C语言的正则表达式规则,特此跟大家分享。

一、C语言如何使用正则表达式?

C语言使用正则表达式的方法很简单,只需要包含正则表达式头文件即可:

#include

相关函数:

regcomp():编译正则表达式

regexec():进行模式匹配

regfree():当不再需要编译的正则表达式时要将其释放

使用时依次调用这些函数即可。其中特别需要提出是regexec()函数的最后一个参数,有如下四种选择:

REG_EXTENDED以功能更加强大的扩展正则表达式的方式进行匹配;

REG_ICASE匹配字母时忽略大小写;

REG_NOSUB不用存储匹配后的结果;

REG_NEWLINE识别换行符号。

一般,我们选择第一个功能更强大的扩展表达式即可。

f10eb11e-8eb8-11ec-952b-dac502259ad0.png

下面是一个封装这些函数的例子(供参考):

二、正则表达式规则

1. 单字符匹配

f12dd152-8eb8-11ec-952b-dac502259ad0.png

举例:

字符串:Hi, 2016!

表达式:\w\w\W\s\S\d.\D

注意:因为C语言解析字符串时也会区分转义字符'',所以我们的正则表达式需要在每个转移字符前再加一个''才可以,像"\w"

2.字符数量匹配

f1417b58-8eb8-11ec-952b-dac502259ad0.png

举例:

字符串:Hi, 20160422!

表达式:\w{2},\s2?0+1*\d{1,5}!

3.字符位置匹配

f1559192-8eb8-11ec-952b-dac502259ad0.png

举例:

字符串:Hi, 20160422!

表达式:^Hi,\s\d{8}!$

4.选择匹配

f16bc750-8eb8-11ec-952b-dac502259ad0.png

举例:

字符串:www.123123123e5rt6yDF.com

表达式:\w{3}\.(123){3}[5-6e-y]{6}[^5-6e-y]{2}\s(com|COM)$

三、最后

本文只介绍了正则表达式的一部分匹配规则,大多是常用的,还有些更高级的用法等以后用到了再更新。另外,文中匹配时举的例子都是为了便于理解而举的,实际使用时可以更精简。

另外的话,作为一名程序员,如果你想更好的提升你的编程能力,好好学习C/C++编程知识,以后努力成为高薪软件开发工程师的话!

分享(源码、项目实战视频、项目笔记,基础入门教程

欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

原文标题:二、正则表达式规则

文章出处:【微信公众号:C语言编程学习基地】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 参数
    +关注

    关注

    11

    文章

    1396

    浏览量

    31412
  • C语言
    +关注

    关注

    180

    文章

    7522

    浏览量

    127537
  • 函数
    +关注

    关注

    3

    文章

    3859

    浏览量

    61297

原文标题:二、正则表达式规则

文章出处:【微信号:cyuyanxuexi,微信公众号:C语言编程学习基地】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    什么是正则表达式正则表达式如何工作?哪些语法规则适用正则表达式

    实现自动化文本处理。在许多编程语言中,正则表达式都被广泛用于文本处理、数据分析、网页抓取等领域。通过正则表达式,我们可以精确地筛选、操作和格式化文本,提高工作效率。
    的头像 发表于 11-03 14:41 535次阅读
    什么是<b class='flag-5'>正则表达式</b>?<b class='flag-5'>正则表达式</b>如何工作?哪些语法规则适用<b class='flag-5'>正则表达式</b>?

    shell正则表达式学习

    程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式在检索或替换上远比之前用到的通配符要强大的多,用在批处理上绝对好用,比
    发表于 07-25 17:18

    正则表达式运用解析

    正则表达式的运用二
    发表于 09-11 08:59

    如何创建正则表达式

    正则表达式:用于匹配规律规则的表达式正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用,经常用于表单校验,高级搜索等。
    发表于 10-27 15:49

    初识 Python 正则表达式

    风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。下面通过实例,一步一步来初步认识正则表达式。比如在一段字符串中寻找是否含有某个字符或某些字符,通常我们
    发表于 03-17 16:44

    一文解析go语言正则表达式

    is cc@qq.com.cn` //如果要提取A@B.C中的A、B、C,需要用到正则表达式的提取功能。 comp := regexp.MustCompile(`([a-zA-Z0-9
    发表于 10-17 17:25

    深入浅出boost正则表达式

    什么是正则表达式正则表达式是一种用来描述一定数量文本的模式。Regex代表Regular Express. 如果您不知道什么是正则表达式,请看这篇文章:深入浅出之正则表达式
    发表于 09-08 18:09 9次下载

    正则表达式应用一例

    语言是一门以中文作为程序代码编程语言学习例程:正则表达式应用一例
    发表于 06-07 10:41 3次下载

    Python正则表达式的学习指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化
    发表于 09-15 08:00 0次下载
    Python<b class='flag-5'>正则表达式</b>的学习指南

    Python正则表达式指南

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例。本文的内容不包括如何编写高效的正则表达式、如何优化
    发表于 03-26 09:13 10次下载
    Python<b class='flag-5'>正则表达式</b>指南

    初识 Python 正则表达式

    风格的正则表达式模式。re 模块使 Python 语言拥有全部的正则表达式功能。 下面通过实例,一步一步来初步认识正则表达式。 比如在一段字符串中寻找是否含有某个字符或某些字符,通常
    的头像 发表于 03-17 16:44 1206次阅读

    python正则表达式中的常用函数

    编译正则表达式模式,返回一个正则对象的模式。(可以把那些常用的正则表达式编译成正则表达式对象,这样可以提高一点效率。)
    的头像 发表于 03-18 16:12 1550次阅读

    Linux入门之正则表达式

    正则表达式是用来表达字符串匹配模式的方法,利用正则表达式,可以让我们轻易地实现对目标字符串的**查找**、**删除**、**替换**等操作。 正则表达式并不复杂,它并不包含难以理
    的头像 发表于 05-12 15:31 561次阅读
    Linux入门之<b class='flag-5'>正则表达式</b>

    shell脚本基础:正则表达式grep

    在Linux上有许多命令可以使用正则表达式,其中最常见的是grep命令和sed命令。正则表达式有多种类型,每种类型中可以使用的元字符类型不同。最常见的是基本正则表达式和扩展正则表达式
    的头像 发表于 05-29 09:29 759次阅读
    shell脚本基础:<b class='flag-5'>正则表达式</b>grep

    Python中的正则表达式

    哈喽大家好,我是了不起,今天给大家讲Python中的正则表达式 在Python中,正则表达式是一种强大的文本处理工具,它可以用来匹配、搜索、替换文本。正则表达式是一个特殊的字符序列,它可以描述一类
    的头像 发表于 06-21 16:52 705次阅读