您当前的位置:首页 > 电脑百科 > 程序开发 > 算法

5分钟搞懂<正则表达式>

时间:2022-05-18 12:02:08  来源:  作者:5分钟IT入门

【写在最前】
我们在平时的编程学习中,经常会接触到“正则表达式”这个概念;
但是很多小白傻傻分不清楚它的正确用法以及适用场景,甚至是在查阅了很多资料之后仍然是云山雾罩。
通过本文知识,让我们花5分钟时间彻底搞懂它,相信聪明的你,看完一定会有收获。

# 基本知识

定义: 正则表达式定义了字符串的匹配模式。
适用: 正则表达式可以用来匹配、搜索、替换文本。
注意: 正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。

 

# 常用符号学习

正则表达式有很多符号,大体可归纳为 5 种类型:


1) 括号

小括号:表示精准匹配

(x|y):精确匹配字符串( | 符号用于分隔“或”关系的选项)

中括号: 表示模糊匹配

[abc]: 模糊匹配a,b,c任意一个字符

[a-z]:模糊匹配a-z任意一个小写字母

[0-9]: 模糊匹配0-9任意一个数字

大括号:表示匹配多次
{n} : 匹配n次
{m,n}:匹配m到n次 (m可省略,即:{,n} 表示匹配0到n次)

举例: "/pre{1,5}/" 表示匹配在"pr"后面出现1个到5个"e"的字符串,

比如"pre"、"pree"、"preeeee"

 

2) 元字符
d :匹配任意一个数字字符,等价于定义 [0-9]
. : 匹配任意一个英文字符
w: 匹配任意一个单词(包括下划线)(约等价于定义“[A-Za-z0-9_]”,这里的"单词"字符使用Unicode字符集(并不是所有语言都支持w写法)


3) 量词符号
*: 匹配元字符“前”的字符出现零次或者多次,等价于定义 "{0,}"。

举例: "/ac*/" 表示匹配在"a"后面出现零个或者多个"c"的字符串。

比如:"App"、"acp"、"accp"等

?: 匹配元字符前的字符出现零次或者1次,等价于定义 "{0,1}"。

+: 匹配指定元字符出现的一次或者多次,等价于定义 "{1,}


4) 其他符号:
^ : 匹配字符串的开始(注意:当且仅当^定义在中括号[]内部时表示”非“关系)
$ : 匹配字符串的结束

5)特殊的标记修饰符

标记修饰符(flags)不写在正则表达式里,而位于表达式之外

格式如下:/pattern/flags

常见的flags标记修饰符有:

i: 表示匹配是无需区分大小写

g: 表示全部都需要匹配(而不是只匹配第一个)

m: 表示需要匹配多行(而不是只匹配第一行)

 

# 综合举例

新用户注册时,只允许:用户名包含字符、数字、下划线、连字符,长度限制最端3位,最长15位,那么其正则表达式如下图:

5分钟搞懂<正则表达式>

 


【全文完】

----------------------------------------
十年技术沉淀,只做原创文章;
及时关注作者,成就大牛之路!



Tags:正则表达式   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
【写在最前】 我们在平时的编程学习中,经常会接触到“正则表达式”这个概念; 但是很多小白傻傻分不清楚它的正确用法以及适用场景,甚至是在查阅了很多资料之后仍然是云山雾罩。...【详细内容】
2022-05-18  Tags: 正则表达式  点击:(0)  评论:(0)  加入收藏
正则表达式(Regular expression)可用来检查文本中是否包含指定模式的字符串,通常是按行来处理(POSIX标准),因为.操作符通常不匹配换行符,如果要匹配多行怎么处理呢?本文介绍正则表达...【详细内容】
2022-03-22  Tags: 正则表达式  点击:(75)  评论:(0)  加入收藏
正则表达式,十分古老而又强大。熟悉掌握并使用,可以在编程时节省很多时间和精力,开发效率得到极大的提升。比如下面这十个正则表达式,是日常前JS开发中经常用到的,且都验证过,可直...【详细内容】
2022-02-25  Tags: 正则表达式  点击:(58)  评论:(0)  加入收藏
(1) 正则表达式【是什么】:特殊的序列。检测字符串是否与序列匹配。【有什么作用】:实现快速检索文本,或实现替换文本的操作。 实战:查看字符串是否包含python findal查找全部 r...【详细内容】
2022-02-25  Tags: 正则表达式  点击:(78)  评论:(0)  加入收藏
一、简介很多时候我们都需要用到一些验证的方法,有时候需要用正则表达式校验数据时,往往需要到网上找很久,结果找到的还不是很符合自己想要的。所以我把自己整理的校验帮助类分...【详细内容】
2021-12-27  Tags: 正则表达式  点击:(83)  评论:(0)  加入收藏
1. 什么是正则表达式正则表达式(Regular Expressions),也称为 “regex” 或 “regexp” 是使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,这样程序就可以将该模...【详细内容】
2021-11-26  Tags: 正则表达式  点击:(64)  评论:(0)  加入收藏
写在前面我们在日常的Java开发中,经常需要处理一些字符串,这个时候正则表达式是非常有用的。几乎在所有的编程语言中都支持正则表达式。以下我将压箱底多年的干货搬出来给大家...【详细内容】
2021-10-25  Tags: 正则表达式  点击:(68)  评论:(0)  加入收藏
正则作为处理字符串的一个实用工具,在Python中经常会用到,比如爬虫爬取数据时常用正则来检索字符串等等。正则表达式已经内嵌在Python中,通过导入re模块就可以使用,作为刚学Pyth...【详细内容】
2021-08-31  Tags: 正则表达式  点击:(116)  评论:(0)  加入收藏
打算给闺女买几本书,计划是列一个书单让闺女自己选。于是找到另一个还算不错的书单介绍页,可惜它不让复制,鼠标右键选中提示扫码以后就跳到学而思的网页让加老师的微信之类的。...【详细内容】
2021-08-10  Tags: 正则表达式  点击:(174)  评论:(0)  加入收藏
正则表达式到底是个啥?在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录...【详细内容】
2021-04-27  Tags: 正则表达式  点击:(265)  评论:(0)  加入收藏
▌简易百科推荐
【写在最前】 我们在平时的编程学习中,经常会接触到“正则表达式”这个概念; 但是很多小白傻傻分不清楚它的正确用法以及适用场景,甚至是在查阅了很多资料之后仍然是云山雾罩。...【详细内容】
2022-05-18  5分钟IT入门    Tags:正则表达式   点击:(0)  评论:(0)  加入收藏
问题:有一个5X6的灯矩阵,灯按一下就亮,再按一下就熄灭。现在有这样一种情况,在这个矩阵中任意按下一盏灯它本身以及它的上、下、左、右四个位置的灯的状态也会随之改变。例如:...【详细内容】
2022-05-11  小汪学python  今日头条  Tags:Python算法   点击:(13)  评论:(0)  加入收藏
//基于矩阵的三元组表示,将矩阵A转置为矩阵BFastTransposeTSMatrix(TSMatrix A,TSMatrix *B){ int col,t,p,q; int num[MAXSIZE],position[MAXSIZE]; B->len=A.len;B-N=A....【详细内容】
2022-04-24  碎冰冰的萝卜坑    Tags:稀疏矩阵   点击:(36)  评论:(0)  加入收藏
贪心算法概述贪心算法(又称贪婪算法),基本原理是,遵循某种既定原则,不断地选取当前条件下最优的选择来构造每一个子步骤,直到获得问题最终的求解。即在求解时,总是作出当前看来最好...【详细内容】
2022-04-22  北漂的乔峰    Tags:贪心算法   点击:(39)  评论:(0)  加入收藏
给定一个单词或整数数组,按字典顺序排列找到下一个排列例如,“gfg”的下一个排列是“ggf”,[1, 2, 3] 的下一个排列是 [1, 3, 2]。第一步:从后往前找到第一个破坏单调递增性质的...【详细内容】
2022-04-20  学海云舟    Tags:排列   点击:(33)  评论:(0)  加入收藏
一、应用场景-字符串匹配问题字符串匹配问题: 有一个字符串 str1= ““硅硅谷 尚硅谷你尚硅 尚硅谷你尚硅谷你尚硅你好””,和一个子串 str2=“尚硅谷你尚硅你” 现在要判断...【详细内容】
2022-04-11  编程码农张    Tags:KMP 算法   点击:(34)  评论:(0)  加入收藏
听起来高大上的“算法”,其实一点也不难学!本专栏用最简洁的语言和逻辑,脱离编程语言的束缚,在最短时间内,从算法概念/程序结构/数据结构/算法思想/应用方法这五个方面,跟您一起,轻...【详细内容】
2022-04-06  科技千里眼  今日头条  Tags:算法   点击:(44)  评论:(0)  加入收藏
一、为什么讲策略模式策略模式,应该是工作中比较常用的设计模式,调用方自己选择用哪一种策略完成对数据的操作,也就是“一个类的行为或其算法可以在运行时更改”我个人的理解...【详细内容】
2022-03-30  大数据架构师  博客园  Tags:枚举策略   点击:(40)  评论:(0)  加入收藏
hash函数是根据关键字key计算出应该存储地址的位置,哈希函数把key转成哈希值来定位数据存储的位置,是基于哈希函数建立的一种查找表,Python 中的字典就是用哈希表来实现的。本...【详细内容】
2022-03-29  测试开发小记    Tags:算法   点击:(41)  评论:(0)  加入收藏
桶排序算法就是把数据平分到每一个桶中,然后对桶中的数据进行排序,再按桶的顺序依次倒出数据,桶排序算法很好理解。桶排序算法也是以空间换时间的算法。举例说明一下桶排序算法...【详细内容】
2022-03-24  理性职场说    Tags:桶排序   点击:(38)  评论:(0)  加入收藏
站内最新
站内热门
站内头条