当前位置: 首页 > news >正文

正则表达式之学习笔记

正则表达式学习笔记

    • 一、概念
    • 二、正则表达式组成
    • 三、常见的正则表达式
      • 3.1 .匹配任意字符
      • 3.2 * 匹配前一个字符的0个或多个实例
      • 3.3 ^ 匹配输入字符串的开头
      • 3.4 $ 匹配行尾
      • 3.5 [] 匹配字符集合
      • \<\> 精确匹配符号

一、概念

正则表达式是由一系列特殊字符组成的字符串,每个特殊字符都被称为元字符,元字符并不表示字面上的含义,而都有特定的含义。
正则表达式由普通字符和元字符组成的集合,这个集合用来匹配模式。正则表达式的功能就是文本查询和字符串操作,它可以匹配文本的一个字符与字符集合。
例如a、b、1、2等字符属于普通字符,普通字符可以按照字面理解,
而*、^、[]等元字符,shell赋予了他们超越字面意思的意义,如*字面意思是符号,实际却表示重复前面的字符0次或多次的隐藏含义。

二、正则表达式组成

一个正则表达式由下列1项或多项组成:
1.一个字符集: 普通字符
2.锚: 指定了正则表达式要匹配的文本在文本行中所处的位置,如^和$就锚
3.修饰符 扩大或缩小正则表达式匹配文本的范围,修饰符含星号、括号和反斜杠

三、常见的正则表达式

正则表达式由一系列特殊字符组成,其中每个字符都有特定的含义和功能。以下是一些常见的正则表达式字符和功能:
.    匹配任意字符(除了换行符)
*    匹配前一个字符的0个或多个实例
+    匹配前一个字符的1个或多个实例
?    匹配前一个字符的0个或1个实例
^    匹配输入字符串的开头
$    匹配输入字符串的结尾
\    转义符
[]    匹配字符集合
\<\>    精确匹配符号
\{n\}    匹配前面字符出现n次
\{n,\}    匹配前面字符至少出现n次
\{n,m\}    匹配前面字符出现n次与m次之间
[abc]    匹配方括号内的任意一个字符(这里是a、b或c)
[^abc]    匹配除方括号内字符之外的任意字符
\\d    匹配任意数字字符
\\D    匹配任意非数字字符
\\s    匹配任意空白字符(包括空格、制表符等)
\\S    匹配任意非空白字符
\\w    匹配任意字母、数字或下划线字符
\\W    匹配任意非字母、数字或下划线字符

3.1 .匹配任意字符

.用于匹配任意字符,…73表示前面3个字符为任意字符,第4和第5 个字符为7和3
在这里插入图片描述

3.2 * 匹配前一个字符的0个或多个实例

*用于匹配前面一个普通字符的0次或多次

cat hell0.txt | grep l*

在这里插入图片描述

3.3 ^ 匹配输入字符串的开头

3.4 $ 匹配行尾

$匹配行尾

cat josh.txt | grep josh$ 

^$ 匹配空白行

cat josh.txt | grep ^$

在这里插入图片描述

3.5 [] 匹配字符集合

[]匹配字符集合,将匹配中括号字符集中的某一字符

匹配字符j

 cat josh.txt | grep [j]

在这里插入图片描述
匹配26字母顺序[a-b]间任意字符,

cat josh.txt | grep [a-b]

在这里插入图片描述
匹配任意小写字符或数字

cat josh.txt | grep [a-z0-9]

在这里插入图片描述
匹配范围在a~z之外的任意一个字符

grep "[^a-z]" az.txt

在这里插入图片描述

<> 精确匹配符号

在这里插入图片描述

相关文章:

正则表达式之学习笔记

正则表达式学习笔记 一、概念二、正则表达式组成三、常见的正则表达式3.1 .匹配任意字符3.2 * 匹配前一个字符的0个或多个实例3.3 ^ 匹配输入字符串的开头3.4 $ 匹配行尾3.5 [] 匹配字符集合\<\> 精确匹配符号 一、概念 正则表达式是由一系列特殊字符组成的字符串&#…...

Java String类

字符串转义符号为 \ 常见的转义字符 转移字符对应的英文是 escape character , 转义字符串&#xff08; Escape Sequence &#xff09; 字母前面加上捺斜线 "" 来表示常见的那些不能显示的 ASCII 字符 . 称为转义字符 . 如 \0,\t,\n 等&#xff0c;就称为转 义字…...

我的电子萝卜刀火了吗?

引言 大家好&#xff0c;我是亿元程序员&#xff0c;一位有着8年游戏行业经验的主程。 笔者在上一篇文章《萝卜刀真的太危险了,于是我用Cocos做了一个》中说到因女儿从学校回来之后想要我给她买一把萝卜刀被我拒绝&#xff0c;但是又想要让她体验一下&#xff0c;因此用Cocos…...

git 查看本地秘钥

第一步&#xff1a; 1&#xff0c;打开终端或者命令行窗口&#xff0c;输入一下命令&#xff1a; cd ~/.ssh进入ssh目录 2&#xff0c;查看该目录下的所有文件&#xff0c;输入以下命令: ls -al该命令将显示ssh目录下的所有文件&#xff0c;包括秘钥文件和配置文件,如果不存…...

【TensorFlow1.X】系列学习笔记【入门二】

【TensorFlow1.X】系列学习笔记【入门二】 大量经典论文的算法均采用 TF 1.x 实现, 为了阅读方便, 同时加深对实现细节的理解, 需要 TF 1.x 的知识 文章目录 【TensorFlow1.X】系列学习笔记【入门二】前言神经网络的参数神经网络的搭建前向传播反向传播 总结 前言 学习了张量、…...

详解一下HTML的语义化标签

目录 什么是语义化标签: HTML5的语义化元素的优点: HTML5的语义化元素的缺点: 来个例子: 语义化标签有那些: 什么是语义化标签: 语义化标签是HTML的一种特性&#xff0c;其核心目标是让标签具有特定的意义。它们的存在不仅帮助开发者更好地理解文档的结构&#xff0c;也让…...

C++11的for循环

在C03/98中&#xff0c;不同的容器和数组&#xff0c;遍历的方法不尽相同&#xff0c;写法不统一&#xff0c;也不够简洁&#xff0c;而C11基于范围的for循环以统一&#xff0c;简洁的方式来遍历容器和数组&#xff0c;用起来更方便了。 for循环的新用法 #include <iostre…...

代码随想录算法训练营第六十天| 739. 每日温度、 496.下一个更大元素 I

代码随想录算法训练营第六十天| 739. 每日温度、 496.下一个更大元素 I 739. 每日温度496.下一个更大元素 I 今天的题都能看懂&#xff0c;做了一个小时 739. 每日温度 题目链接&#xff1a;739. 每日温度 文章链接 状态&#xff1a;看视频能看懂&#xff0c;还是要多练。 代码…...

2.4_3死锁的处理策略---避免死锁

...

13.3测试用例进阶

一.测试对象划分 1.界面测试(参考软件规格说明书和UI视觉稿) a.什么是界面 1)WEB站(浏览器) 2)app 3)小程序 4)公众号 b.测试内容 1)界面内容显示的一致性,完整性,准确性,友好性.比如界面内容对屏幕大小的自适应,换行,内容是否全部清晰展示. 2)验证整个界面布局和排版…...

[云原生1] Docker网络模式的详细介绍

1. Docker 网络 1.1 Docker 网络实现原理 Docker使用Linux桥接&#xff0c;在宿主机虚拟一个Docker容器网桥(docker0)&#xff0c; Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址&#xff0c;称为Container-IP&#xff0c; 同时Docker网桥是每个容器的默认…...

uni——底部弹框显示,底部导航隐藏

案例 在uni-app中&#xff0c;如果你在tabbar页面显示一个底部弹框&#xff0c;底部导航默认是会依旧显示的。如果你想在弹框显示时隐藏底部导航&#xff0c;你可以使用uni.hideTabBar和uni.showTabBar方法来控制底部导航的显示和隐藏。 export default {methods: {openPopup(…...

HammerDB的安装和使用(超详细)

目录 ​编辑 一、HammerDB的介绍 二、HammerDB的安装 1、下载hammerdb安装包 2、权限配置以及安装 3、查看安装目录 三、安装前的配置 1、启动监听 2、启动数据库 3、创建表空间 1.修改临时表空间 2…...

java经典面试题总结

1.请简述Java的继承&#xff0c;重写和多态的概念和运用 继承是一种Java中重要的面向对象编程方式&#xff0c;它允许一个类从另一个类继承某些属性和方法&#xff0c;在这种关系下&#xff0c;子类可以重写父类的方法&#xff0c;从而实现不同的行为。 多态是继承实现的一种关…...

django中template中post请求接口csrf问题

$(function () {$.ajaxSetup({headers: { "X-CSRFToken": getCookie("csrftoken") }}); });// 为防止CSRF&#xff08;Cross-site request forgery&#xff09;跨站请求伪造&#xff0c;发post请求时需要在cookie中创建随机码 function getCookie(name) {v…...

聊聊RocketMQMessageListener的实现机制

序 本文主要研究一下RocketMQMessageListener的实现机制 示例 Service RocketMQMessageListener(nameServer "${demo.rocketmq.myNameServer}", topic "${demo.rocketmq.topic.user}", consumerGroup "user_consumer") public class UserC…...

ConfigurationProperties注解详解

ConfigurationProperties和Value注解用于获取配置文件中的属性定义并绑定到Java Bean或属性中 一个简单的例子 ConfigurationProperties需要和Configuration配合使用&#xff0c;我们通常在一个POJO里面进行配置&#xff1a; Data Configuration ConfigurationProperties(pre…...

三、组件与数据交互

一、组件基础 1、单文件组件 第一步&#xff1a;引入组件 import ComponentTest from ./components/ComponentTest.vue 第二步&#xff1a;挂载组件 components: {ComponentTest } 第三步&#xff1a;显示组件 <ComponentTest></ComponentTest><!-- 父组件 --…...

#define 宏定义看这一篇文章就够了

前言&#xff1a;在c/c学习的过程中&#xff0c;宏定义&#xff08;#define&#xff09;是作为初学者学习到的为数不多的预处理指令&#xff0c;在学习的时候我们被告知他可以帮助我们更高效的写程序&#xff0c;可以增加程序的可读性&#xff0c;但宏定义&#xff08;#define&…...

LeetCode算法栈—验证图书取出顺序

验证图书取出顺序 目录 验证图书取出顺序 题解&#xff1a; 代码&#xff1a; 运行结果&#xff1a; 验证图书取出顺序 现在图书馆有一堆图书需要放入书架&#xff0c;并且图书馆的书架是一种特殊的数据结构&#xff0c;只能按照 一定 的顺序 放入 和 拿取 书籍。 给定一个…...

Kubebox部署方案对比:可执行文件、Docker、Kubernetes内服务等5种方式详解

Kubebox部署方案对比&#xff1a;可执行文件、Docker、Kubernetes内服务等5种方式详解 【免费下载链接】kubebox ⎈❏ Terminal and Web console for Kubernetes 项目地址: https://gitcode.com/gh_mirrors/ku/kubebox Kubebox是一款功能强大的Kubernetes终端和Web控制台…...

FPGA光模块调试翻车记:IBERT IP核的管脚约束,为什么我写的XDC总被覆盖?

FPGA光模块调试实战&#xff1a;破解IBERT IP核管脚约束冲突的底层逻辑 第一次在Vivado里看到"LOC constraint conflict"的红色报错时&#xff0c;我盯着IBERT生成的Example Design发呆了十分钟。明明在XDC文件里明确定义了SFP光模块的GTY收发器管脚&#xff0c;为什…...

保姆级教程:用ESP32-CAM和Blinker App,5分钟搭建你的第一个无线监控(附常见上传失败解决方案)

零基础玩转ESP32-CAM&#xff1a;从开箱到手机监控的完整避坑指南 第一次拿到ESP32-CAM这个小玩意儿时&#xff0c;我盯着它看了半天——这真的能变成监控摄像头&#xff1f;作为一个连电阻电容都分不清的纯小白&#xff0c;我花了整整三天时间才让手机成功显示出画面。现在回想…...

Visual C++运行库整合安装器:告别繁琐安装的一站式解决方案

Visual C运行库整合安装器&#xff1a;告别繁琐安装的一站式解决方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经因为"缺少MSVCP140.dll&quo…...

无损剪辑大师:5分钟掌握LosslessCut视频处理核心技巧

无损剪辑大师&#xff1a;5分钟掌握LosslessCut视频处理核心技巧 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 还在为视频剪辑后画质下降而烦恼吗&#xff1f;Lossl…...

别再死记硬背了!用Fluent组分输运模型搞定湿空气模拟,从原理到实战(附避坑指南)

湿空气模拟实战&#xff1a;用Fluent组分输运模型突破认知误区 在计算流体力学&#xff08;CFD&#xff09;领域&#xff0c;湿空气模拟是一个既基础又容易让人困惑的课题。许多工程师第一次接触Fluent的组分输运模型时&#xff0c;往往会陷入两个极端&#xff1a;要么死记硬背…...

NS-USBLoader:Switch玩家的全能文件管理解决方案

NS-USBLoader&#xff1a;Switch玩家的全能文件管理解决方案 【免费下载链接】ns-usbloader Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. 项目地址: https://gitcode.com/gh_mirrors/ns…...

NVIDIA Profile Inspector终极指南:3个核心方案彻底解决显卡配置难题

NVIDIA Profile Inspector终极指南&#xff1a;3个核心方案彻底解决显卡配置难题 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款深度访问NVIDIA驱动隐藏配置的高级工具…...

Flux2-Klein-9B-True-V2多场景应用:设计师灵感辅助、内容创作者视觉素材库构建

Flux2-Klein-9B-True-V2多场景应用&#xff1a;设计师灵感辅助、内容创作者视觉素材库构建 1. 模型介绍与核心功能 Flux2-Klein-9B-True-V2是基于官方FLUX.2 [klein] 9B改进的文生图/图生图模型&#xff0c;为设计师和内容创作者提供了强大的视觉内容生成能力。这个模型经过专…...

NVIDIA Jetson AGX Orin边缘AI开发套件深度解析与实战指南

1. NVIDIA Jetson AGX Orin开发者套件深度解析NVIDIA最新发布的Jetson AGX Orin开发者套件标志着边缘AI计算进入了一个新的时代。作为一名长期从事嵌入式AI开发的工程师&#xff0c;我认为这套系统最令人兴奋的地方在于它将服务器级的计算能力压缩到了一个手掌大小的模块中。1.…...