正则表达式-速成教程

正则表达式-速成教程

今天遇到一枚程序媛在群里吐槽,并附了截图;然后无意中看到她的一个正则与她的注释描述不一致,就提醒了一下。顺带着给了个速成教程,在这里把这个速成教程贴出来,一是为了自己备份;二是分享给诸位需要的同行。

但需要注意的是,这只是简易教程,忽略了 ()*+?| 等正则保留字符的具体含义 以及 \d \w等功能性的表示含义。也没有其他的高阶功能。

正则速成法

  1. 方括号表示只需满足其中之一
    eg:
    [ABcdeF] 表示只要有ABcdeF这6个字符中的任意一个即可
    1.1 特例
    [A-Z] 表示所有的大写字母
    [a-z] 表示所有的小写字母
    [0-9] 表示所有的数字
    [\u4e00-\u9fa5] 表示中文,可以不用记,需要的时候百度
  2. 大括号表示长度,有两个参数:最短长度和最大长度,其中最大长度不是必须的
    eg:
    a{2} 表示需要两个小写的a才可以,1个或者3个及以上都不行
    a{2,} 表示需要至少两个小写的a才可以,1个的不行,2个及以上的可以
    a{2,4} 表示需要2到4个小写的a才可以,1个的不行,2个3个4个可以,5个及以上的都不可以
  3. 点(.)表示任意一个除换行符外的字符,可以是数字、字母、特殊符号、中文等等所有键盘可以输入的
  4. ^表示开始,$表示结束
    eg:
    ^a{1,} 表示小写字母a开头的字符串
    a$ 表示小写字母a结尾的字符串
    ^a.{0,}b$ 表示小写字母a开头且小写字母b结尾的字符串
  5. ^${}[]().\*+?| 这些字符是正则的关键字,要匹配它们需要转义
    eg:
    \. 表示小数点
    \( 表示英文状态下的左括号
    其他的省略了,一样的玩法。

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

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

相关文章

QT【day1】

登录框: #include "mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent) {//窗口设置this->setFixedSize(600,600); //大小this->setWindowTitle("MUMU"); //文本内容this->setWindowOpacity(0.8); //透…

力扣 -- 978. 最长湍流子数组

一、题目 二、解题步骤 下面是用动态规划的思想解决这道题的过程&#xff0c;相信各位小伙伴都能看懂并且掌握这道经典的动规题目滴。 三、参考代码 class Solution { public:int maxTurbulenceSize(vector<int>& nums) {int nnums.size();vector<int> f(n);…

k8s中强制删除pv

K8s 集群内有一个已经不再使用的 PV&#xff0c;虽然已经删除了与其关联的 Pod 及 PVC&#xff0c;并对其执行了删除命令&#xff0c;但仍无法正常删除&#xff0c;一直处于 Terminating 状态&#xff1a; 解决办法&#xff1a; 1. 获取pv信息 kubectl get pv 2. 解除pv锁定 …

对话商汤王晓刚:“百模大战”下半场,如何才能突出重围?

点击关注 文 | 姚悦 今年最早发布的那批大模型&#xff0c;现在怎么样了&#xff1f; 近期&#xff0c;商汤科技宣布“商汤日日新SenseNova”大模型体系完成了第一次重大迭代。这距离其发布过去3个月时间。 “每天不断接到用户调用&#xff0c;收到建议反馈后&#xff0c;每隔…

阿里Java开发手册~日志规约

1. 【强制】应用中不可直接使用日志系统 &#xff08; Log 4 j 、 Logback &#xff09; 中的 API &#xff0c;而应依赖使用日志框架 SLF 4 J 中的 API &#xff0c;使用门面模式的日志框架&#xff0c;有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger…

QT实现用户登录注册功能

本文实例为大家分享了QT实现用户登录注册的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下 1、login.h ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 #ifndef LOGIN_H #define LOGIN_H #include <QWidget> namespace Ui { c…

Python - OpenCV机器视觉库的简单使用经验

OpenCV是一个开源的计算机视觉库&#xff0c;它支持多种编程语言&#xff0c;包括Python。下面是Python 3中OpenCV的详细解析&#xff1a; 安装OpenCV 在Python 3中安装OpenCV&#xff0c;可以使用pip命令来安装。例如&#xff0c;在终端中输入以下命令&#xff1a; pip ins…

面试题-TS(六):TypeScript 中的泛型是什么?

面试题-TS(6)&#xff1a;TypeScript 中的泛型是什么&#xff1f; 在TypeScript中&#xff0c;泛型&#xff08;Generics&#xff09;是一种强大的特性&#xff0c;它允许我们在编写可重用的代码时增加灵活性。泛型使得我们可以编写不特定数据类型的代码&#xff0c;从而提高代…

k8s1.27.4最新版本使用kubeadm+containerd方式安装

k8s1.27.4 最新版本使用kubeadm+containerd方式安装 1、环境准备 [全部节点配置]1.1系统环境1.2主机配置1.2.1 主机名配置1.2.2 主机IP地址配置1.2.3 主机名与IP地址解析1.2.4 防火墙配置1.2.5 SELINUX配置1.2.6 时间同步配置1.2.7 禁用swap交换分区(kubernetes强制要求禁用)…

使用java.lang.Comparable实现比较器和使用java.util.Collections排序

记录&#xff1a;469 场景&#xff1a;使用java.lang.Comparable实现比较器&#xff0c;使用java.util.Collections排序&#xff0c;实现找出最大值。 版本&#xff1a;JDK 1.8,Spring Boot 2.6.3,fastjson-2.0.33。 1.一个JSON字符串&#xff0c;找出最大值 1.1JSON字符串…

Set 和 Map 数据结构

数据结构Set ES6提供了新的数据结构Set。它类似于数组&#xff0c;但是成员的值都是唯一的&#xff0c;没有重复的值。 Set本身是一个构造函数&#xff0c;用来生成Set数据结构。 // 数组去重 const set new Set([1, 2, 3, 4, 4]); [...set] // [1, 2, 3, 4]目前个人感觉Se…

.NET 5 Web API 中JWT详细教程:保护你的Web应用

第一部分&#xff1a; 理解JWT JSON Web Token&#xff08;JWT&#xff09;是一种在不同系统之间传递信息的安全方式。它由三部分组成&#xff1a;头部&#xff08;Header&#xff09;、载荷&#xff08;Payload&#xff09;和签名&#xff08;Signature&#xff09;。头部包…

SpringBoot 整合Docker Compose

Docker Compose是一种流行的技术&#xff0c;可以用来定义和管理你的应用程序所需的多个服务容器。通常在你的应用程序旁边创建一个 compose.yml 文件&#xff0c;它定义和配置服务容器。 使用 Docker Compose 的典型工作流程是运行 docker compose up&#xff0c;用它连接启动…

全面防护!Fortinet发布混合式部署防火墙HMF

在企业IT复杂性日益增长、网络安全威胁日趋紧迫、网络安全设施可维护性逐渐降低的背景下&#xff0c;企业迫切寻求可无缝跨越所有IT区域&#xff0c;有效简化企业防护架构的统一解决方案。近日&#xff0c; Fortinet Accelerate 2023中国区15城巡展圆满落幕&#xff0c;在收官之…

【深度学习之YOLO8】视频流推断

官方V8模型下载 需要准备两个东西 simsun.ttc字体包YOLOv8官方模型成品 ScreenCapture屏幕图像类 import cv2 import mss import numpy as npclass ScreenCapture:"""parameters----------screen_resolution : Tuple[int, int]屏幕宽高&#xff0c;分别为x&a…

【文献分享】比目前最先进的模型轻30%!高效多机器人SLAM蒸馏描述符!

论文题目&#xff1a;Descriptor Distillation for Efficient Multi-Robot SLAM 中文题目&#xff1a;高效多机器人SLAM蒸馏描述符 作者&#xff1a;Xiyue Guo, Junjie Hu, Hujun Bao and Guofeng Zhang 作者机构&#xff1a;浙江大学CAD&CG国家重点实验室 香港中文大学…

Vue系列第四篇:Vue2 + Element开发登录页面

Vue开发中Element是一个比较受欢迎的界面库&#xff0c;实际开发中Vue2搭配Element UI开发&#xff0c;Vue3搭配Element plus开发&#xff0c;今天就用Vue2 Element来开发登录页面。 目录 1.Element UI介绍 1.1官网 1.2element-ui安装 2.开发环境准备 2.1core-js安装 2…

List集合类详解(附加思维导图)

目录 一、List集合思维导图 二、List集合类的常见方法 2.1、ArrayList集合常用方法 2.2、LinkedList集合常用方法 一、List集合思维导图 二、List集合类的常见方法 2.1、ArrayList集合常用方法 ①.add(Object element) 向列表的尾部添加指定的元素。 ②.size() 返回列表中…

xxljob

调度中心&#xff1a; 下载调度中心的代码 下载sql&#xff0c;执行sql 更改配置 启动项目 输入地址即可访问界面 执行器&#xff1a; 新建springboot的项目&#xff0c;导入相关依赖 添加和执行器的配置 上面的就是读取配置文件的信息 把从配置文件获取的值set到对…

家政服务小程序制作攻略揭秘

想要打造一个家政服务小程序&#xff0c;但是又不懂编程和设计&#xff1f;不用担心&#xff01;下面将为你详细介绍如何利用第三方平台&#xff0c;从零开始打造一个家政服务小程序。 首先&#xff0c;你需要找到一个适合的第三方平台&#xff0c;例如乔拓云网。在乔拓云网的【…