正则表达式简略记录

1、元字符:

. ------- 匹配除换行符外的任意字符
\w ------- 匹配字母或数字或下划线或汉字
\s ------- 匹配任意的空白符
\d ------- 匹配数字
\b ------- 匹配单词的开始或结束
^ ------- 匹配字符串的开始
$ ------- 匹配字符串的结束

2、字符转义 \

3、重复次数{}

* ------- 重复零次或更多次
+ ------- 重复一次或更多次
? ------- 重复零次或一次
{n} ------- 重复n次
{n,} ------- 重复n次或更多次
{n, m} ------- 重复n次到m次

4、字符类[]

[aeiou] --------------- 匹配a,e,i,o,u中的任意字符
[.?!]-------------------- 匹配.,?,!中的任意字符
[0-9]------------------- 匹配0-9中的任意数字
[a-z0-9A-Z]---------- 匹配a-z0-9A-Z中的任意数字
(?0\d{2}[)-]?\d{8}

5、分支条件—从左往右进行|

0\d{2}-\d{8}|0\d{3}-\d{7}
(?0\d{2})?[-]?\d{8}|0\d{2}[-]?\d{8}

6、分组()

(\d{1,3}.){3}\d{1,3}
((2[0-4]\d|25[0-5]|[01]?\d\d?).){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

7、反义

\W \ 匹配任意不是字母或数字或下划线或汉字的字符
\S \ 匹配任意不是空白符的字符
\D \ 匹配任意非数字的字符
\B \ 匹配不是单词的开始或结束的位置
[^x] \ 匹配除了x以外的任意字符
[^abc] \ 匹配除了abc以外的任意字符

8、后向引用

捕获 (exp) \ 匹配exp,并捕获文本到自动命名的组里
捕获 (?exp) \ 匹配exp, 并捕获文本到名称为name的组里
捕获 (?:exp) \ 匹配exp, 不捕获匹配的文本,也不给此分组分配组号
零宽断言 (?=exp) \ 匹配exp前的位置
零宽断言 (?<=exp) \ 匹配exp后面的位置
零宽断言 (?!exp) \ 匹配后面不是跟着exp的位置
零宽断言 (?<!exp) \ 匹配前面不是exp的位置
注释 (?#comment)

9、零宽断言

查找某些内容之前或之后的东西,也就是说他们像\b,^,$那样用于指定一个位置,这个位置满足一定的条件(即断言)—零宽断言
断言用来声明一个应该为真的事实。正则表达式中只有断言为真时才会继续进行匹配。
(?=exp) \b\w+(?=ing)\b,匹配ing结尾的单词的前面部分。
(?<=exp) (?<=\bre)\w+\b, 匹配以re开头的单词的后半部分
((?<=\d)\d{3})+\b

10、贪婪匹配和懒惰匹配

a.*b \a开始b结束的最长字符
a.*b? \ a开始b结束的最短字符

*? \ 重复任意次,但尽可能少的重复
+? \ 重复一次或多次,但尽可能少的重复
?? \ 重复零次或一次,但尽可能少的重复
{n, m}? \重复n到m次,但尽可能少的重复
{n,}? \重复n次以上,但尽可能少的重复

11、注释

(?#comment) 2[0-4]\d(?#200-249)|250-5|[01]?\d\d?(?#0-199)

12、平衡组/递归匹配

(?‘greap’)
(?‘-greap’)
(?(group)yes|no)
(?!)

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

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

相关文章

Java、Java EE、Spring和Spring Boot核心注解

简介 文章迁移至个人博客 此页面包含常用 Java、Java EE、Spring、 Spring Boot、JPA 常用注解的一站式说明。 Spring核心注解 Component注解 Component 注解表明被注解的类是一个“spring bean/组件”。Component注解告诉Spring容器自动创建Spring bean。 Autowired注解 …

搭建自己的Git服务器

环境 服务端&#xff1a;Ubuntu 22.04 客户端&#xff1a;Win11_x64 前提条件&#xff1a;需要确保在Windows机器上能够ping通Ubuntu服务器, 并且服务端与客户端均已安装了Git软件 服务端上的配置操作 以Ubuntu服务器作为Git服务端的运行环境&#xff0c;并方便后期免密推…

kafka消费报错卡死:内存溢出OutOfMemoryError: Java heap space

文章目录 现象排查解决 现象 我们信控平台使用Java语言开发&#xff0c;Spring Cloud微服务架构&#xff0c;采用容器化部署&#xff0c;所有服务都部署在docker里面&#xff0c;使用docker-compose进行管理&#xff0c;使用portainer进行监控平台部署客户现场后&#xff0c;一…

如何做好IT类的技术面试

目录 一、IT行业的招聘渠道 二、如何做好技术面试官 三、谈谈IT行业如何做好招聘工作 四、面试IT公司的小技巧 五、面试有哪些常见的问题 六、关于面试的一些建议 面试可能是我们每个人都必须会遇到的事情&#xff0c;而技术面试更具有专业性&#xff0c;以下会从几个方面…

openGauss学习笔记-23 openGauss 简单数据管理-时间/日期函数和操作符

文章目录 openGauss学习笔记-23 openGauss 简单数据管理-时间/日期函数和操作符23.1 时间日期操作符23.2 时间/日期函数23.3 TIMESTAMPDIFF23.4 EXTRACT23.5 date_part openGauss学习笔记-23 openGauss 简单数据管理-时间/日期函数和操作符 23.1 时间日期操作符 用户在使用时…

【Java 高频面试闯关秘籍】大梦谁先觉,平生我自知

一、mysql使用innodb引擎&#xff0c;请简述mysql索引的最左前缀如何优化orderby语句&#xff1f; 关键点&#xff1a; &#xff08;1&#xff09;如果排序字段不在索引列上&#xff0c;filesort有两种算法&#xff1a;mysql就要启动双路排序和单路排序 &#xff08;2&#x…

【系统监控程序】

用python编写一个系统监控程序&#xff0c;需要每隔一秒钟记录系统每个进程的资源占用和整体的资源占用情况&#xff0c;并输出成json&#xff0c;保存到文本文件。 import psutil import json import timedef get_process_usage():process_list []for proc in psutil.proces…

系统资源监控程序的改进

当需要监控硬盘读写和网络传输时&#xff0c;我们可以进一步使用psutil库来获取这些信息。以下是修改后的示例程序&#xff0c;增加了对硬盘读写和网络传输的监控&#xff1a; import psutil import json import timedef get_process_usage():process_list []for proc in psu…

解决分类任务中数据倾斜问题

大家好&#xff0c;在处理文本分类任务时&#xff0c;基准测试流行的自然语言处理架构的性能是建立对可用选项的理解的重要步骤。在这里&#xff0c;本文将深入探讨与分类相关的最常见的挑战之一——数据倾斜。如果你曾经将机器学习&#xff08;ML&#xff09;应用于真实世界的…

React Native RN state props

state&#xff1a; 是RN 专门用来标识是否重新渲染&#xff0c;通过属性的值来更新数据&#xff0c;React 内部会监听 state 的变化&#xff0c;一旦发生变化就会主动触发组件的 render() 方法来更新 Dom 结构&#xff0c;另外state是组件私有的&#xff0c;是没有办法通过其他…

VS+QT+PCL点云显示转网格表面体窗体实现

程序示例精选 VSQTPCL点云显示转网格表面体窗体实现 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对<<VSQTPCL点云显示转网格表面体窗体实现>>编写代码&#xff0c;代码整洁&…

正则表达式常用字符及案例

引言 正则表达式是一种强大而灵活的工具&#xff0c;它在文本搜索和处理中起到了至关重要的作用。熟练掌握正则表达式的常用字符和使用方法&#xff0c;将能帮助开发者更加高效地进行模式匹配和字符串操作。本文将介绍一些常见的正则表达式字符&#xff0c;并给出一些实际案例…

watch避坑,使用computed进行处理数据

业务场景&#xff1a;在vue中监听el-input 中的字数有没有超过60&#xff0c;如果超过60字时将60后面的字变为 “>>” 符号&#xff0c;以此实现预览苹果手机推送摘要场景。 错误&#xff1a;开始的逻辑是使用watch监听&#xff0c;检查length超过60直接 加上符号&#x…

python 网络编程

TCP编程 客户端 创建TCP连接时&#xff0c;主动发起连接的叫做客户端&#xff0c;被动响应的叫做服务端。当定义一个Socket表示打开一个网络连接&#xff0c;创建一个Socket需要知道目标计算机的IP地址和端口号和对应的协议类型。 # 导入socket库: import socket# 创建一个s…

基于MSP432P401R爬坡小车【2020年电赛C题】

文章目录 一、任务清单1. 硬件部分2. 软件部分 二、OpenMV巡线三、舵机转向四、停止线识别五、技术交流 一、任务清单 1. 硬件部分 主控板&#xff1a; MSP432P401R数据显示&#xff1a; OLED电机&#xff1a; 霍尔编码器电机电池&#xff1a; 7.3V航模电池巡线&#xff1a; …

图像中不规则物体的长轴与短轴:OpenCV实现指南

1.首先&#xff0c;读取图像并将其转换为灰度图像。 2.进行图像预处理&#xff0c;包括使用高斯模糊和阈值化&#xff0c;以便更好地处理图像。 3.通过使用OpenCV的cv2.findContours()函数&#xff0c;找到图像中的所有轮廓。 4.遍历所有轮廓&#xff0c;如果轮廓点的数量大…

使用ajax进行前后端交互的方法

使用ajax进行前后端交互的方法&#xff1a;&#xff08;我只测试通了json对象作为参数的方式&#xff0c;其他方式我没有测试通过&#xff09; 1、前端方法&#xff1a; 传参方式&#xff1a;POST 请求类型&#xff1a;json对象 响应类型&#xff1a;json对象 function test() …

idea 里 controller service impl mapper xml 切换跳转快捷键

首先在controller层&#xff0c;对着接口点方法的方法上按着ctrl和鼠标左键&#xff0c;你会进入service层。 对着方法ctrlaltb不按鼠标&#xff0c;你会进入impl层。service层的方法上按ctrl和鼠标左键会回到controller&#xff0c;ctrlaltb不按鼠标也会进入到impl层,impl上的…

[Linux]线程基本知识

概念 进程 一个正在执行的程序&#xff0c;它是资源分配的最小单位 进程中的事情需要按照一定的顺序逐个进行 进程出现了很多弊端: 一是由于进程是资源拥有者&#xff0c;创建、撤消与切换存在较大的时空开销&#xff0c;因此需要引入轻型进程&#xff1b; 二是由于对称多…

localhost和127.0.0.1一样吗?

学习笔记&#xff0c;如有错误&#xff0c;感谢指出&#xff01; 文章目录 1. 对比方式一1.1 表示方式&#xff1a;1.2 主机名解析&#xff1a;1.3 IPv6 支持&#xff1a;1.4 可读性和易用性&#xff1a;1.5 小总结 2. 对比方式二2.1 原理不同2.2 概念不同2.3 指向不同 1. 对比…