课时105:正则表达式_进阶知识_扩展符号

1.1.1 扩展符号

学习目标

这一节,我们从 基础知识、简单实践、小结 三个方面来学习

基础知识

简介

字母模式匹配[:alnum:] 字母和数字[:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z[:lower:] 小写字母,示例:[[:lower:]],相当于[a-z][:upper:] 大写字母
数字模式匹配[:digit:] 十进制数字[:xdigit:]十六进制数字
符号模式匹配[:blank:] 空白字符(空格和制表符)[:space:] 包括空格、制表符(水平和垂直)、换行符、回车符等各种类型的空白[:cntrl:] 不可打印的控制字符(退格、删除、警铃...[:graph:] 可打印的非空白字符[:print:] 可打印字符[:punct:] 标点符号注意:在使用该模式匹配的时候,一般用[[ ]]- 第一个中括号是匹配符[] 匹配中括号中的任意一个字符- 第二个[]是格式 如[:digit:]
属性模式匹配\s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [\f\r\t\v]。\S 匹配任何非空白字符。等价于 [^\f\r\t\v]\w 匹配一个字母,数字,下划线,汉字,其它国家文字的字符,等价于[_[:alnum:]]\W 匹配一个非字母,数字,下划线,汉字,其它国家文字的字符,等价于[^_[:alnum:]]

简单实践

准备文件

[root@localhost ~]# cat file1.txt
acd
abc
a_c
aZc
aZd
a c
a3c

精确匹配实践

以a开头c结尾  中间a-zA-Z0-9任意字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:alnum:]]c$" file1.txt
abc
aZc
a3c以a开头c结尾  中间是a-zA-Z任意字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:alpha:]]c$" file1.txt
abc
aZc以a开头c结尾  中间是0-9任意字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:digit:]]c$" file1.txt
a3c以a开头c结尾  中间是a-z任意字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:lower:]]c$" file1.txt
abc以a开头c结尾  中间是A-Z任意字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:upper:]]c$" file1.txt
aZc以a开头c结尾  中间是可打印符号  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:print:]]c$" file1.txt
abc
a_c
aZc
a c
a3c以a开头c结尾  中间是符号字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:punct:]]c$" file1.txt
a_c以a开头c结尾  中间是空格或者TAB符字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:blank:]]c$" file1.txt
a c
[root@localhost ~]# egrep "^a[[:space:]]c$" file1.txt
a c以a开头c结尾  中间是十六进制字符  长度为三个字节的字符串
[root@localhost ~]# egrep "^a[[:xdigit:]]c$" file1.txt
abc
a3c

小结


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2972.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS使用技巧

VS使用技巧 1、展开和缩进代码2、代码注释和取消注释 1、展开和缩进代码 缩进:ctrlmo 展开:ctrlml 2、代码注释和取消注释 注释:ctrlkc 取消注释:ctrlku

网络通信安全

一、网络通信安全基础 TCP/IP协议简介 TCP/IP体系结构、以太网、Internet地址、端口 TCP/IP协议简介如下:(from文心一言) TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议&#xff0…

用友NC Cloud importhttpscer接口任意文件上传漏洞

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、漏洞描述 用友NC Cloud的importhttpscer接口如果存在任意文件上传…

搭建最新tensorflow 与pytorch环境

1、安装 Anaconda: 如果您尚未安装 Anaconda,首先访问 https://www.anaconda.com/products/distribution/ 下载适用于您操作系统的最新版本。按照官方指南完成安装过程。 2、设置 Conda 源 方法一:命令行配置 临时使用: 如果您只想临时为…

开源文本嵌入模型M3E

进入正文前,先扯点题外话 这两天遇到一个棘手的问题,在用 docker pull 拉取镜像时,会报错: x509: certificate has expired or is not yet valid 具体是下面👇这样的 rootDS918:/volume2/docker/xiaoya# docker pul…

恒峰智慧科技—森林守护者:森林消防泵如何助力灭火?

在茂密的森林中,一场突如其来的火灾可能带来无法估量的破坏。幸运的是,森林消防泵的出现,帮助我们对抗这些威胁。本文将深入探讨森林消防泵如何在灭火工作中发挥重要作用。 一、森林消防泵的功能和重要性: 首先,我们需…

探索人工智能的边界:GPT 4.0与文心一言 4.0免费使用体验全揭秘!

探索人工智能的边界:GPT与文心一言免费试用体验全揭秘! 前言免费使用文心一言4.0的方法官方入口进入存在的问题免费使用文心一言4.0的方法 免费使用GPT4.0的方法官方入口进入存在的问题免费使用GPT4.0的方法 前言 未来已来,人工智能已经可以…

Hive安装与配置实战指南

Hive安装与配置实战指南 在大数据领域中,Hive以其类SQL的查询语言HQL、可扩展的数据仓库能力和对Hadoop生态系统的良好集成,成为了数据分析和处理的重要工具。本文将指导您完成Hive的安装与配置,帮助您快速搭建起自己的Hive环境。 一、环境…

FreeSWITCH rtp 统计

现在能想到的是几个办法: 1. cdr 增加下面元素: rtp_audio_in_raw_bytes rtp_audio_in_media_bytes rtp_audio_in_packet_count rtp_audio_in_media_packet_count rtp_audio_in_skip_packet_count rtp_audio_in_jb_packet_count rtp_audio_in_dtmf_pac…

06.2_c/c++开源库boost_coroutine2 协程库

1.安装与说明 安装 sudo apt install libboost-coroutine1.71-dev 编译链接 libboost-coroutine不支持.pc格式查看, 支持.cmake导入 cat /usr/lib/x86_64-linux-gnu/cmake/boost_coroutine-1.71.0/boost_coroutine-config.cmake cat /usr/lib/x86_64-linux-gnu/cmake/boost…

mac 桌面不能右键 文件也不见了 但在finder的桌面上有

mac 桌面不能右键 文件也不见了 但在finder的桌面上有 出现该现象,可能是因为安装了带有隐藏桌面文件功能的软件,无意中操作引起的。可以利用终端轻松解决: 1、在Launchpad中找到终端并打开: 2、粘贴如下代码,回车即…

在Docker中运行Jenkins容器:从入门到实践

Jenkins作为一个流行的持续集成和持续交付(CI/CD)工具,其强大的功能和广泛的插件支持使其成为自动化软件开发流程的首选。结合Docker容器化技术,可以轻松地在任何支持Docker的平台上部署和运行Jenkins,实现环境一致性、快速部署和易于管理的C…

Matlab|基于元模型优化算法的主从博弈多虚拟电厂动态定价和能量管理

1 主要内容 该程序复现《基于元模型优化算法的主从博弈多虚拟电厂动态定价和能量管理》模型,建立运营商和多虚拟电厂的一主多从博弈模型,研究运营商动态定价行为和虚拟电厂能量管理模型,模型为双层,首先下层模型中,构建…

【Android】android 10 jar_sdk_library添加

前言 当前项目遇到客户,Android 10 平台,需要封装jar_sdk_library给第三方应用使用。其中jar_sdk_library中存在aidl文件。遇到无法编译通过问题。 解决 system/tools/aidl修改 Android.bp修改

frp改造Windows笔记本实现家庭版免费内网穿透

文章目录 前言frp原理Windows服务端IP检验IP固定软件下载端口放行端口映射开机启动 NAS客户端端口查询软件下载端口检验穿透测试自启设置 Ubuntu客户端软件下载后台启动 后记 前言 之前一直用花生壳远程控制一个服务器,但最近内网的网络策略似乎发生了变化&#xf…

数学与机器学习:共舞于智能时代的双璧

随着人工智能的崛起,机器学习作为其核心技术之一,正引领着新一轮的科技革命。而在这场革命中,数学以其深邃的理论和精妙的工具,为机器学习提供了坚实的支撑。数学与机器学习之间的关系,如同琴瑟和鸣,共同编…

信息系统项目管理师0068:数据标准化(5信息系统工程—5.2数据工程—5.2.2数据标准化)

点击查看专栏目录 文章目录 5.2.2数据标准化1.元数据标准化2.数据元标准化3.数据模式标准化4.数据分类与编码标准化5.数据标准化管理记忆要点总结5.2.2数据标准化 数据标准化是实现数据共享的基础。数据标准化主要为复杂的信息表达、分类和定位建立相应的原则和规范,使其简单化…

谷歌发布基于声学建模的无限虚拟房间增强现实鲁棒语音识别技术

声学室模拟允许在AR眼镜上以最少的真实数据进行训练,用于开发鲁棒的语音识别声音分离模型。 随着增强现实(AR)技术的强大和广泛应用,它能应用到各种日常情境中。我们对AR技术的潜能感到兴奋,并持续不断地开发和测试新…

Adobe Illustrator 2024 v28.4.1 (macOS, Windows) - 矢量绘图

Adobe Illustrator 2024 v28.4.1 (macOS, Windows) - 矢量绘图 Acrobat、After Effects、Animate、Audition、Bridge、Character Animator、Dimension、Dreamweaver、Illustrator、InCopy、InDesign、Lightroom Classic、Media Encoder、Photoshop、Premiere Pro、Adobe XD 请…

ChatGPT实战100例 - (18) 用事件风暴玩转DDD

文章目录 ChatGPT实战100例 - (18) 用事件风暴玩转DDD一、标准流程二、定义目标和范围三、准备工具和环境四、列举业务事件五、 组织和排序事件六、确定聚合并引入命令七、明确界限上下文八、识别领域事件和领域服务九、验证和修正模型十、生成并验证软件设计十一、总结 ChatGP…