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

正则表达式-速成教程

正则表达式-速成教程

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

但需要注意的是,这只是简易教程,忽略了 ()*+?| 等正则保留字符的具体含义 以及 \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:
    \. 表示小数点
    \( 表示英文状态下的左括号
    其他的省略了,一样的玩法。

相关文章:

正则表达式-速成教程

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

C语言中的数组(详解)

C语言中的数组(详解) 一、一维数组1.一维数组的创建2.数组的初始化3.一维数组的使用4.一维数组在内存中的存储二、二维数组1.二维数组的创建2.二维数组的初始化3.二维数组的使用4.二维数组在内存中的存储三、数组越界四、数组作为函数参数1.冒泡排序2.数…...

【App管理04-Bug修正 Objective-C语言】

一、咱们刚才已经把这个给大家做完了吧 1.这个Label怎么显示到上面去了, 我们现在是把它加到我们的控制器的View里面吧 我们看一下这个坐标是怎么算的,来,我们找一个坐标, 咱们的坐标,是不是用这个View的frame,减的吧 来,咱们在这里,输出一下这个Frame,看一下吧 在…...

黑客自学笔记(网络安全)

一、黑客是什么 原是指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。但后来,黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实,网络信息空间安全已经成为海陆空之…...

action=store_true和store_false理解及实战测试

store_true 是指带触发 action 时为真,不触发则为假, 即默认 False ,传参 则 设置为 True store_false 则与之相反 以代码为例: import sys import argparse def parse_args():parser argparse.ArgumentParser(descriptionrun …...

Android 通用带箭头提示窗

简介 自定义PopupWindow, 适用于提示类弹窗。 使用自定义Drawable设置带箭头的背景,测试控件和弹窗的尺寸,自动设置弹窗的显示位置,让箭头指向锚点控件的中间位置,且根据锚点控件在屏幕的位置,自动适配弹窗显示位置。…...

隧道安全监测解决方案

隧道安全监测 解决方案 一、监测目的 通过监控量测,实现信息化施工,不仅能及时掌握隧道实际的地质情况,掌握隧道围岩、支护衬砌结构的受力特征和变形情况,据此可以尽早发现塌方、大变形等灾害征兆,及时采取措施&…...

3 Linux基础篇-VMware和Linux的安装

3 Linux基础篇-VMware和Linux的安装 文章目录 3 Linux基础篇-VMware和Linux的安装3.1 安装VMware和CentOS3.1.1 VM安装3.1.2 Centos7.6的安装步骤 3.3 虚拟机基本操作3.4 安装VMtools3.5 设置共享文件夹 学习视频来自于B站【小白入门 通俗易懂】2021韩顺平 一周学会Linux。可能…...

什么是预处理器指令,常用的预处理器指令有哪些?什么是运算符,C 语言中的运算符有哪些?

1.什么是预处理器指令,常用的预处理器指令有哪些? 预处理器指令是一种用于在源代码编译之前进行预处理的特殊指令。它们通过在程序编译之前对源代码进行处理,可以在编译阶段之前进行一些文本替换、条件编译等操作,从而对源代码进…...

新功能 – Cloud WAN:托管 WAN 服务

我很高兴地宣布,我们推出了 Amazon Cloud WAN,这是一项新的网络服务,它可以轻松构建和运营连接您的数据中心和分支机构以及多个 Amazon 区域中的多个 VPC 的广域网(WAN)。 亚马逊云科技开发者社区为开发者们提供全球的…...

FPGA_学习_13_方差计算小模块

测距器件APD的性能与器件本身的温度、施加在APD的偏置电压息息相关。 在不同的温度下,APD的偏压对测距性能的影响非常大。 要确定一个合适的APD的偏压Vopt,首先你要知道当前温度下,APD的击穿电压Vbr,一般来讲,Vopt Vb…...

如何安装多个版本的python,python可以装两个版本吗

这篇文章主要介绍了可不可以在同一台计算机上安装多个python版本,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。 1、不同版本的python不能安装到同一台计算机上 可以的&#…...

深入理解JVM:Java使用new创建对象的流程

1、创建对象的几种方式 ①new 对象 ②反射 ③对象的复制 ④反序列化 2、创建对象流程 先看看常量池里面有没有,如果有,就用常量池的看这个类有没有被加载过,如果没有,就执行类加载以及类的初始化。(对象的大小&#…...

【MySQL】索引与B+树

【MySQL】索引与B树 索引概念前导硬件软件方面 索引的理解单个page多个page引入B树B树的特征为什么B树做索引优于其他数据结构?聚簇索引与非聚簇索引辅助索引 索引的创建主键索引的创建和查看唯一键索引的创建和查看普通索引的创建和查看复合索引全文索引索引的其他…...

“使用Spring Boot快速构建Java Web应用“

标题:使用Spring Boot快速构建Java Web应用 摘要:本文介绍了如何使用Spring Boot快速构建Java Web应用。通过Spring Boot的自动配置和约定优于配置的特性,开发人员可以轻松地搭建一个简单且高效的Web应用。本文将通过一个示例代码详细演示Sp…...

面试题汇总——设计模式

简单介绍 设计模式共有23种,创建型模式5种,结构型模式7种,行为型模式11种 创建型: 关注对象的创建过程,将对象的创建和使用分开,在使用对象时无须知道对象的创建细节。对象实例化的模式,创建型模式用于解耦对象的实例化过程。单例模式、工厂方法模式、抽象工厂模式、建造…...

Java SpringMvc

0目录 java SpringMvc拓展 1.SpringMvc 创建工程,导入依赖 配置 web.xml文件 配置Spring配置文件,resources目录下新建applicationContext.xml 控制层配置 新建list.jsp并测试 Web.xml详解 如果required是true必须要传参 设置默…...

JVM运行时区域——对象创建内存分配过程

新创建的对象,都存放在伊甸园区域,当垃圾回收时,将伊甸园区域的垃圾数据销毁,然后将存活的对象转移到幸存者0区域,之后创建的新的对象还是存放在伊甸园区域,等到再次垃圾回收后,将伊甸园区域和幸…...

Springboot项目排除Bean的方法

前言: 在最近工作中,相关业务代码需要引用一个工具包。原来的同事在工具包中,封装了Spring AOP切面的Bean,但是这样的工具包非常不友好,工具包不应该有这些特殊的处理。有了这些特殊的处理,引用方也要特殊处…...

阿里云国际版云服务器防火墙设置

阿里云国际版云服务器防火墙设置 入侵防御页面为您实时展示云防火墙拦截流量的源IP、目的IP、阻断应用、阻断来源和阻断事件详情等信息。本文介绍了入侵防御页面展示的信息和相关操作,下面和012一起来了解阿里云国际版云服务器防火墙设置: 前提条件 您需…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

C#中的CLR属性、依赖属性与附加属性

CLR属性的主要特征 封装性&#xff1a; 隐藏字段的实现细节 提供对字段的受控访问 访问控制&#xff1a; 可单独设置get/set访问器的可见性 可创建只读或只写属性 计算属性&#xff1a; 可以在getter中执行计算逻辑 不需要直接对应一个字段 验证逻辑&#xff1a; 可以…...

(一)单例模式

一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...