正则表达式 —— Grep
文本处理三剑客:Grep、Sed、Awk
这三个工具都是基于对文本的内容进行增删改查的操作,此篇着重介绍grep与正则表达式的应用,以及扩展正则表达式。
正则表达式
什么是正则表达式?
它是由一类特殊字符以及文本字符所编写的一种模式,处理文本当中的内容;其中的一些字符不表示字符的字面含义,这些字符表示控制或者通配的功能,正则表达式可以对命令结果和文件内容都可以进行匹配。
通配符常用符号
而通配符仅仅只能匹配文件名、目录名,不能匹配文件的内容;
- *: 匹配任意一个或多个字符 例:ls *.txt
- ?:匹配任意一个字符 例:ls ?.txt
- [ ] :匹配范围内的任意单个字符 例:touch {a..z}.txt ls [a-z].txt
基本正则常用符号
基本正则:字符匹配,元字符,匹配的部分需要用引号引起来。
- .:表示匹配任意的单个字符,可以是一个汉字 例:ls | grep "abc."
- \:表示转义符
- \.: 仅仅表示一个点,无其它含义
- ():表示分组的意思
- \(\):这时仅表示括号
- [ ]:匹配已指定范围内的任意单个字符
例:ls | grep "[0-9 a-z A-Z]" 展示所有数组以及大小写字母- [ ^ ]:表示取反,指定范围外的
例:ls | grep "[A-Z0-9.]"- [[ :blank: ]]:匹配空白字符(空格和tab键)
- 例:以rc开头,任意单个字符,0-6的数字
- 只匹配以rc.为开头的文件
- 过滤/etc/passwd中任意的两个字符r和t
正则次数的表达式
- *:匹配前面的字符任意次,有多少匹配多少;也称贪婪模式
- .*:也是匹配任意长度的字符,但是至少要有一次,不包括0次;最少前面要有一个o,否则不匹配
- \?:表示匹配前面的字符0次或者1次(即可有可无) 有则匹配,没有也匹配
- \+:匹配前面的字符至少一次,最多可以无数次
- \{n\}:匹配前面的字符=n次 精确匹配 n:表示前面字符出现的次数,多一次少一次都不行、、
- \{m,n\}:匹配前面的字符最少m次,最多n次
- \{,n\}:匹配前面的字符最多n次
- \{n,\}:匹配前面的字符至少n次
匹配次数就是核心
位置锚定
以什么为开头 以什么为结尾
- ^:以什么为开头,在模式的左侧 ^r 以r为开头
- $:以什么最为结尾,在模式的右侧 r$ 以r为结尾
- ^ root $:用于匹配整行,而且整行中只有一个 root才显示
- ^$:匹配空行
- 词首锚定:>或者 \b
- 词尾铆钉:<或者 \b
推荐用\b 统一来判断词首和词尾
例:

输入词首就是词首搜索,输入词尾就是词尾搜索
\ |:表示逻辑或

扩展正则表达式
扩展正则与基本正则意思相同,仅仅区别于写法上的不同;通常使用扩展正则,更加的直观。
它的表达格式为:egrep 或 grep -E 所有的 \ 斜杠都可去掉
相关文章:
正则表达式 —— Grep
文本处理三剑客:Grep、Sed、Awk 这三个工具都是基于对文本的内容进行增删改查的操作,此篇着重介绍grep与正则表达式的应用,以及扩展正则表达式。 正则表达式 什么是正则表达式? 它是由一类特殊字符以及文本字符所编写的一种模式…...
STC12C5A系列单片机片内看门狗的应用
wdt.c #include "wdt.h"void wdt_init(void) {WDT_CONTR 0x24; // 0010 0100 - 1.1377s }void wdt_feed(void) {WDT_CONTR | 0x10; // 喂狗 }wdt.h #ifndef _WDT_H_ #define _WDT_H_#include "stc12c5a60s2.h"// 函数声明 extern void wdt_init(void); …...
C语言指针详解
目录 指针是什么? 指针和指针类型 指针-整数 指针的解引用 野指针 野指针成因 如何规避野指针 指针运算 指针- 整数 指针-指针 指针的关系运算 指针和数组 二级指针 指针数组 指针数组 模拟二维数组 指针是什么? 指针理解的2个要点: 1. 指针是内存中一个…...
RTPS规范v2.5(中文版)
实时发布订阅协议 DDS互操作性有线协议 (DDSI-RTPS) 技术规范 V2.5 (2022-04-01正式发布) https://www.omg.org/spec/DDSI-RTPS/2.5/PDF 目 录 1 范围 8 2 一致性 8 3 规范性参考文献 8 4 术语和定义 9 5 标识 …...
LeetCode102.Binary-Tree-Level-Order-Traversal<二叉树的层序遍历>
题目: 思路: 写过N叉树的层序遍历,(8条消息) LeetCode429.N-Ary-Tree-Level-Order-Traversal<N 叉树的层序遍历>_Eminste的博客-CSDN博客 使用栈保存每一层的结点。然后每次当前层结束。将这一层的值添加进去res中。…...
yolov8系列[五]-项目实战-yolov8模型无人机检测
yolov8系列[五]-项目实战-yolov8模型无人机检测 项目介绍项目展示功能简介代码结构如何启动 开发者模式1. 安装依赖环境2. 启动程序 源代码下载其他 项目介绍 无人机识别项目,无人机搭载nvidia jetson边缘计算板子,进行实时识别。使用yolov8算法,训练了识别无人机的…...
Redis 笔记,基本数据类型、持久化、主从、集群等等问题
标题 😀😀😀创作不易,各位看官点赞收藏. 文章目录 标题Redis 基础笔记1、安装及环境搭建2、Redis 数据类型2.1、String2.2、List2.3、Hash2.4、Set2.5、Zset2.6、BitMap2.7、HyperLogLog2.8、Geospatial2.9、Stream 3、Redis 持久…...
JDK,JRE,JVM三者的关系
JDK(全称 Java Development Kit),Java开发工具包,能独立创建、编译、运行程序。 JDK JRE java开发工具(javac.exe/java.exe/jar.exe) JRE(全称 Java Runtime Environment),能运行…...
行为型-命令模式(Command Pattern)
说明 命令模式(Command Pattern)是一种行为设计模式,它将请求封装为一个对象,以便在不同的请求者和接收者之间进行解耦、参数化和操作的队列化。命令模式允许你将具体的请求封装为对象,这些对象之间彼此独立ÿ…...
总结942
5:40起床 6:00~7:00单词复习300个,记100个 7:15~8:00早读,《love is as strong as death》第一第二段 8:10~9:10三大计算回顾 9:15~10:06 习题880第一章基础选择纠错 10:10~10:30单词默写 10:30~11:40强化第一讲习题 11:40~12:30继续…...
MFC自定义控件使用
用VS2005新建一个MFC项目,添加一个Custom Control控件在窗体 我们需要为自定义控件添加一个类。项目,添加类,MFC类 设置类名字,基类为CWnd,你也可以选择CDialog作为基类 类创建完成后,在它的构造函数中注册一个新的自定义窗体,取名为"MyWindowClass" WNDCL…...
【学习笔记】「ROI 2018 Day 2」无进位加法
先放一个大佬的博客:「loj - 2850」「ROI 2018 Day 2」无进位加法 用数据结构来优化搜索🤔 神一样的 Kidulthood 考场上就已经意识到了这道题的正解是搜索😅 考虑搜索过程的本质🤔 首先是找到最小的满足 t i i t_ii tii最大…...
分布式I/O,IT和OT融合少不了它
长期以来信息技术IT和操作运营技术OT是相互隔离的,随着大数据分析和边缘计算业务的对现场级实时数据的采集需求,IT和OT有了逐渐融合的趋势。IT与OT融合,它赋予工厂的管理者监控运行和过程的能力大为增强,甚至可以预测到可能发生的…...
主干网络篇 | YOLOv8 更换主干网络之 VanillaNet |《华为方舟实验室最新成果》
论文地址:https://arxiv.org/pdf/2305.12972.pdf 代码地址:https://github.com/huawei-noah/VanillaNet 在基础模型的核心是“多样性即不同”,这一哲学在计算机视觉和自然语言处理方面取得了惊人的成功。然而,优化和Transformer模型固有的复杂性带来了挑战,需要转向简洁性…...
AD20. 如何给元器件设计、添加3D模型
Altium Designer学习笔记 - 00.目录 零. 前言 本文以HF46F继电器为例展示设计、添加元器件3D模型的流程,其他元器件类似。 一. 操作步骤 从下图可以看到此时继电器还没有添加3D模型: 1. 获取元器件尺寸 这里通过查找元器件的数据手册可以…...
C++笔记之vector的底层实现和扩容机制
C笔记之vector的底层实现和扩容机制 1. 先申请内存空间,内存空间容量变成原来的n倍(一般是原来的两倍) 2. 将原本容器中的数据拷贝到新的内存空间中 3. 释放原来的内存空间 4. 将数组指针指向新容器的内存空间 code review! 文章目录 C笔记之vector的底层实现和扩…...
JavaSE - Sting类
目录 一. 字符串的定义 二. String类中的常用方法 1. 比较两个字符串是否相等(返回值是boolean类型) 2. 比较两个字符串的大小(返回值是int类型) 3. 字符串查找 (1)s1.charAt(index) index:下标&…...
zotero+overleaf插入参考文献
zotero导出参考献bib文件 overleaf上传此biib文件 后续添加package,输出参考文献,添加引用参考http://t.csdn.cn/bC245 默认导出的bib文件信息臃肿,使用插件设置,安装过程参考http://t.csdn.cn/4HcBm…...
C语言每天一练----输出水仙花数
题目:请输出所有的"水仙花数" 题解:所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。 例如, 153是水仙花数, 因为153 1 * 1 * 1 5 * 5 * 5 3 * 3 * 3" #define _CRT_SECURE_NO_WARNINGS 1#include <stdio.h&g…...
Linux-Shell
1.什么是Bash shell(壳) Bash Shell是一个命令解释器,它在操作系统的最外层,负责用户程序与内核进行交互操作的一种接口,将用户输入的命令翻译给操作系统,并将处理后的结果输出至屏幕。 通过xshell连接,就是打开了一…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
React19源码系列之 事件插件系统
事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...



