[√]正则表达式

简介: [√]正则表达式

好用的正则表达式网站:正则表达式在线测试

字符 描述 用法 符合情况的例子
? 0次、1次 a?b

image.png

* 0次、多次 a*b

image.png

+ 前边的表达式出现
1次、多次
a+b

image.png

. 匹配除换行符的所有字符 a.b

image.png

^ 匹配开始位置 ^a

image.png

$ 匹配结束位置 ab$

image.png

{n} 只匹配n次 a{2}b

image.png

{n,} 至少匹配n次
{n,m} 至少匹配n次,最多匹配m次 a{1,2}b image.png
() 标记子表达式的开始结束
| 指明多个选择项之间选择其中1个 ^(a|b)

image.png

[] 范围表达式

image.png

对多个字符匹配

字符 描述
(ab)+ 字符ab出现1次、多次
\s 匹配空白,包括空格、换行、tab缩进等所有的空白
\S \s刚好相反

分组

在正则表达式中,组(Group)是一种用于标记和捕获匹配子字符串的机制。通过使用括号将模式中的一部分括起来,可以创建一个组。

组有以下几个作用:

  1. 捕获:组允许你将匹配的子字符串提取出来,以便后续进行处理或引用。你可以使用特定语法来提取组中的内容,通常是通过组的索引或名称。
  2. 分组:组还可以用于将模式的一部分进行逻辑分组,以便应用修饰符、重复操作符或其他操作符等。分组可以帮助你构建更复杂的模式,同时也影响匹配的顺序和优先级。

在正则表达式中,方括号([])和圆括号(())具有不同的作用和含义。

  1. 方括号 []: 方括号用于定义一个字符集合,表示匹配其中任意一个字符。你可以在方括号内部列出多个字符,也可以使用连字符 - 表示一个字符范围。例如,[abc] 表示匹配字符 "a"、"b" 或 "c" 中的任意一个,而 [0-9] 表示匹配任意一个数字字符。
  2. 圆括号(): 圆括号用于创建组,它具有两个主要的作用:
  • 分组:圆括号可以将模式的一部分进行逻辑分组,以便应用修饰符或其他操作符。例如,(\d{3})-(\d{4}) 匹配形如 "123-4567" 的电话号码,其中 \d{3} 是第一个组,匹配区号,\d{4} 是第二个组,匹配后面的四位数字。
  • 捕获:圆括号还允许你捕获匹配到的子字符串,以便后续引用或处理。你可以使用特定语法来提取组中的内容,通常是通过组的索引或名称。例如,在 JavaScript 中可以使用 match 方法或 RegExp.$1 来提取组。
目录
相关文章
|
计算机视觉
OpenCV-计算二维矢量幅值cv::magnitude
OpenCV-计算二维矢量幅值cv::magnitude
454 0
|
11月前
|
传感器 Web App开发 编解码
基于51单片机的智能热水器设计
基于51单片机的智能热水器设计
235 0
|
JSON JavaScript 前端开发
Python+Dash快速web应用开发:回调交互篇(下)
Python+Dash快速web应用开发:回调交互篇(下)
228 1
|
安全 算法 网络安全
HTTPS 的加密流程
HTTPS (Hyper Text Transfer Protocol Secure) 是基于 HTTP 协议之上的安全协议,用于在客户端和服务器之间通过互联网传输数据的加密和身份验证。它使用 SSL/TLS (Secure Sockets Layer/Transport Layer Security) 协议来保护数据的安全性,可以防止数据被窃听、篡改或伪造。
656 3
|
Java Apache
超实用!教你如何在POI-TL框架中熟练使用Configure类,快速完成Office文档生成!
POI-TL是一个用于生成Office文档的Java库,Configure类是该库中的一个配置类,其作用是提供了一些全局的配置选项,可以用于定制化生成的文档。
766 0
|
移动开发 JavaScript 小程序
uView Swiper 轮播图
uView Swiper 轮播图
353 0
|
监控 前端开发 Java
你知道Zabbix吗?源码分析Zabbix启动过程
你知道Zabbix吗?源码分析Zabbix启动过程
245 0
|
消息中间件 搜索推荐 关系型数据库
淘东电商项目(50) -ELK+Kafka分布式日志收集(实现篇)
淘东电商项目(50) -ELK+Kafka分布式日志收集(实现篇)
394 0
|
机器学习/深度学习 运维 算法
【机器学习】十大算法之一 “SVM”
支持向量机(Support Vector Machine,SVM)是机器学习十大算法之一,是一种二分类模型。SVM将实例空间映射到一个高维空间,将空间进行线性划分,同时使得分类面到两端最近的数据点的距离(margin)最大化,因此SVM也被称为最大间隔分类器(Maximal Margin Classifier)。SVM是由Vapnik和Cortes于1995年提出的,是一种广泛应用的机器学习算法,具有很好的泛化能力和鲁棒性。SVM是一种非常有用的算法,它在分类和回归问题中都表现出色。
1130 0
【机器学习】十大算法之一 “SVM”