Shell——正则表达式

news2024/10/6 21:30:45

正则表达式的作用

通常用于判断语句中,用来检查某一字符串是否满足某一格式

正则表达式的构成

正则表达式是由普通字符与元字符组成

普通字符包括大小写字母、数字、标点符号及一些其他符号

元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前

面的字符或表达式〉在目标对象中的出现模式

基础正则表达式常见元字符:(支持的工具: grep、egrep. sed、 awk)

\:转义字符,用于取消特殊符号的含义,例:\!、 \n、\$等

 ^ :匹配字符串开始的位置,例:^a、^the、^#、^ [a-z]

 $:匹配字符串结束的位置,例:word$、^$匹配空行

. :匹配除\ n之外的任意的一个字符,例: go.d、 g..d

 *:匹配前面子表达式0次或者多次,例: goo* d、 go.*d

[list]:匹配list列表中的一个字符,例: go[ola]d,[abc]、[a-z]、[a-z0-9]、[0-9]匹配任意一位数字

[^list]:匹配任意非list列表中的一个字符,例:[^0-9]、[^A-Z0-9]、[^a-z]匹配任意一位非小写字母

 \{n\} :匹配前面的子表达式n次,例: go\{2\}d、'[0-9]\{2\}'匹配两位数字

\{n,\} :匹配前面的子表达式不少于n次,例: go\{2, \}d、' [0-9]\{2,\}'匹配两位及两位以上数字

 \{n,m\} :匹配前面的子表达式n到m次,例: go\{2,3\)d、'[0-9]\{2,3\}'匹配两位到三位数字

 注:egrep、awk使用{n }、 {n, }、{n,m}匹配时“{}“前不用加"\"

\w :匹配包括下划线的任何单词字符。\w :匹配任何非单词字符。等价于"[^A-Za-z0-9_]"。

\d : 匹配一个数字字符。\D:匹配一个非数字字符。等价于[^0-9]。

 s :空白符。\S:非空白符

 

扩展正则表达式元字符:(支持的工具:egrep、awk) grep -E sed -r

+ :匹配前面子表达式1次以上,例: go+d,将匹配至少一个o,如god、good、goood等

?:匹配前面子表达式0次或者1次,例: go?d,将匹配gd或god

 () :将括号中的字符串作为一个整体,例1: g (oo)+d,将匹配oo整体1次以上,如good、gooood等

l :以或的方式匹配字符串,例: g(oola)d,将匹配god或者gad

 


 

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

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

相关文章

零基础入门测试该学什么?最全整理,照着学就对了

零基础入门测试该学什么?最全整理,照着学就对了 于很多小白而言,想要转行软件测试岗位,却又怕自己从来没有接触过计算机,底子很薄弱,从而还没开始就打起了退堂鼓。也有许多初学者,在入门的过程…

虚拟化技术介绍-VMware和Docker的区别

都说今天是一个云时代,其实云的本质就是由基础架构提供商提供基础架构,应用开发商不再关心基础架构。我们可以类比人类刚刚发明电的时候,工厂需要自己建电站,而现在只需要电线和插座就可以使用电。云时代让我们可以在分钟、甚至秒…

ASEMI代理ADI亚德诺ADUM3211TRZ-RL7原厂芯片

编辑-Z ADUM3211TRZ-RL7参数描述: 型号:ADUM3211TRZ-RL7 数据速率:10 Mbps 传播延迟:50 ns 脉冲宽度失真:3 ns 脉冲宽度:100 ns 输出上升/下降时间:2.5 ns 供电电流:2.6 mA …

Google Play应用广告系列的转化跟踪

设置和了解我们应用的转化对于广告投放的成功至关重要。依赖错误或虚假数据,很容易影响我们的目标和投资回报。 无论我们运行的是什么活动,要做的第一件事就是将主要转化与其成本相关联: 1,应用安装活动侧重于安装和 CPI 或每次…

Gif动图怎么在线做?教你在线做gif动画图片

****  现在很多广告营销中gif动图非常的收欢迎,比传统的静态图片画面要生动丰富。但是,要如何制作gif动图宣传图片呢?小白也能操作吗? 一、什么工具能够在线制作gif动画图片? GIF中文网作为专业的gif制作&#xff…

Chromium源码视频播放分析

​ 下载代码,调试方法等见Chromium视频播放相关调试记录_bberdong的博客-CSDN博客 硬解流程 GPU进程 MediaService::CreateInterfaceFactory,然后创建了InterfaceFactoryImpl。 创建解码器 gpu进程收到了一个message创建了一个MojoVideoDecoderServ…

TypeScript 基础语法

(一) 类型 1、基元类型 类型例子描述number1, -33, 2.5任意数字string‘hi’, “hi”, hi任意字符串booleantrue、false布尔值true或falsenull值只能为nullundefined值只能为undefined字面量其本身(详见 面向对象 15泛型)限制变量的值就是该字面量的值any*任意类型unknown*类…

代码随想录算法训练营第二天| 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵

有序数组的平方: 题目链接:力扣 知识点:双指针。 思路分析:首先想到的是不怎么动脑子的暴力想法,即先将vector中的各元素用pow函数进行平方,接着再用sort函数对已平方过的数据进行排序。 但是由于sort是基于快速排序…

修复bug:FlexibleButton id相反问题

目录 版本:https://github.com/murphyzhao/FlexibleButton/releases/tag/2.0.1 问题现象 问题描述 查源码! 注册 读按键 按键处理 小结 版本:https://github.com/murphyzhao/FlexibleButton/releases/tag/2.0.1https://github.com/mur…

00后自述,生活所迫,不卷一点我能怎么办?

前段时间我去面试了一个软件测试公司,成功拿到了offer,薪资也从10k涨到了15k,对于工作都还没两年的我来说,还是比较满意的,毕竟有些工作了3到4年的可能还没有我的高。 在公司一段时间后大家都说我是卷王,其…

MySQL5.7数据导入/导出、TiDB数据回迁移

一、环境&安装包 CentOS Linux release 7.4.1708 (Core)TDSQL(腾讯基于MySQL5.7.x自主研发的数据库)Mysqldump(MySQL5.7.41备份客户端)Dumpling(mydumper 的全新升级版)Myloader(mydumper附…

Flutter 3.10 之 Flutter Web 路线已定,可用性进一步提升,快来尝鲜 WasmGC

随着 Flutter 3.10 发布,Flutter Web 也引来了它最具有「里程碑」意义的更新,这里的「里程碑」不是说这次 Flutter Web 有多么重大的更新,而是 Flutter 官方对于 Web 终于有了明确的定位和方向。 提升 首先我们简单聊提升,这不是…

用处巨广的操作符,快来学学叭(C语言版)

🤩本文作者:大家好,我是paper jie,感谢你阅读本文,欢迎一建三连哦。 🥰内容专栏:这里是《C知识系统分享》专栏,笔者用重金(时间和精力)打造,基础知识一网打尽&#xff0c…

buildroot 目录结构

buildroot 目录结构 board 存放着不同厂商相关的文件 buildroot-2023.02/board/sipeed/lichee_rv_dock里面描述了如何连接wifi,蓝牙,烧写sdcard.img 如何配置buildroot和编译等 make sipeed_lichee_rv_dock_defconfig makearch 存放着CPU相关的文件&#xff0c…

SQLite:轻量级嵌入式数据库

原创 | 文 BFT机器人 引言 SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库不一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不…

AI —— 亲测讯飞星火认知大模型,真的很酷!

讯飞星火认知大模型真的很酷! 前言🙌讯飞星火认知大模型基本的使用介绍与讯飞星火认知大模型基本的对话 总结撒花💞 😎博客昵称:博客小梦 😊最喜欢的座右铭:全神贯注的上吧!&#xf…

FE_Vue学习笔记 条件渲染[v-show v-if] 列表渲染[v-for] 列表过滤 列表排序

1 条件渲染 v-show v-if 使用template可以使其里面的内容在html的结构中不变。条件渲染: v-if 1)v-if“表达式” 2)v-else-if“表达式” 3)v-else {} 适用于:切换频率较低的场景。特点:不展示的DOM元素直…

rem、px、em的区别 -前端

文章目录 三者的区别特点与换算举例emrem 总结一总结二 三者的区别 在css中单位长度用的最多的是px、em、rem,这三个的区别是: 一、px是固定的像素,一旦设置了就无法因为适应页面大小而改变。 二、em和rem相对于px更具有灵活性,…

消息认证码以及数字签名的认识

文章目录 消息认证码及数字签名1. 消息认证码1.1 消息认证1.2 消息认证码的使用步骤1.3 go中对消息认证码的使用1.4 消息认证码的问题 2.数字签名2.1 数字签名的生成和验证2.2 数字签名的流程2.3 Go使用RSA进行数字签名2.4 Go使用椭圆曲线进行数字签名2.5 数字签名无法解决的问…

dts pinctrl初始gpio0方法

1、在pinctrl-rockchip.c文件中添加头文件 #include <linux/of_gpio.h> 如下 2、 在如下函数添加红色代码 static int rockchip_pinctrl_probe(struct platform_device *pdev) { struct rockchip_pinctrl *info; struct device *dev &pdev->dev; …