基础 - 正则表达式

前言

⚠️ 该篇博客主要是方便后续查验

推荐的正则表达式校验网站:https://regex101.com/

⭐️ 可以把已经匹配到的字符当作是被剔除了,剩余待匹配字段已经没有它了

介绍

**正则表达式(Regular Expression)**是一种文本模式,包括普通字符(例如,a 到 z 之间的字母或者 0 到 9 的数字)和特殊字符(称为"元字符")。

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

正则表达式的功能:

  • 校验数据的有效性(例如:校验邮箱格式)
  • 识别符合要求的文本内容
  • 文本的切割及替换

基本使用

元字符就是指那些在正则表达式中具有特殊意义的专用字符

常用的元字符

元字符 说明
. 匹配除换行符以外的任意字符
\w 匹配字母、数字或下划线
\W 匹配非字母、数字和下划线
\d 匹配数字
\D 匹配非数字
\s 匹配任意的空白符
\S 匹配任意的非空白符
? 重复0次或1次
* 重复0次或多次
+ 重复一次或更多次
{n} 重复匹配n次
{n,} 重复匹配至少n次
{n,m} 重复匹配n到m次
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
\[\] 匹配字符集合中的任意一个字符,内可使用^表示取反
| 逻辑"或",匹配其左右两边的任意一个子表达式

字符转义

  • 正则中本身有一些特殊字符已经被专用了,所以想匹配元字符本身或者正则中某些特殊字符的话,需要使用\转义。
  • 例如 :匹配*这个字符则使用\*,匹配\这个字符,使用\\。
  • 需要转义的字符:$, (, ), *, +, ., [, ], ?, \, ^, {, }, |

案例详解

常用正则
正则表达式 说明
^1[3-9]\d{9}$ 手机号验证(中国),例如 15161112222
`^[1-9]\d{5}\d{4}(0[1-9] 1[0-2])(0[1-9]
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ 邮箱验证,例如:user@example.com
案例 .

​ 功能:匹配除换行符以外的任意字符

匹配文本 abcaab_
正则表达式 ab.
匹配数量 2
匹配结果 abc,ab_
案例 \w

​ 功能:匹配字母、数字或下划线

匹配文本 abc\w中文_-
正则表达式 \w.\\w
匹配数量 1
匹配结果 bc\w
案例 \W

​ 功能:匹配非字母、数字和下划线(与\w相反)

匹配文本 ab\ @#b_1中文
正则表达式 \W.
匹配数量 3
匹配结果 \ ,@#,中文
案例 \d

​ 功能:匹配数字

匹配文本 123.
正则表达式 \d\.
匹配数量 1
匹配结果 3.
案例 \D

​ 功能:匹配非数字

匹配文本 abc2abcdhj$3
正则表达式 \D\w.\d
匹配数量 2
匹配结果 abc2,hj$3
案例 \s

功能:匹配任意的空白符

​ 案例二

匹配文本 abc ab @#$
正则表达式 \s\w
匹配数量 1
匹配结果 a
案例 \S

功能:匹配任意的非空白符

匹配文本 abc ab @#$
正则表达式 \S\w
匹配数量 2
匹配结果 ab,ab
案例 ?

功能:重复0次或1次

匹配文本 http123https
正则表达式 https?
匹配数量 1
匹配结果 http,https
案例 *

功能:重复0次或多次

匹配文本 test123aa中文
正则表达式 \d.*
匹配数量 1
匹配结果 123aa中文
案例 +

功能:重复一次或更多次

匹配文本 test123aa中文
正则表达式 \d.+
匹配数量 1
匹配结果 123aa中文
相关推荐
小白快快跑哦1 天前
python-字符串全解(六):正则表达式-修饰符
python·正则表达式·修饰符
11路没有终点1 天前
正则表达式(Regex)通用学习文档
正则表达式
小白快快跑哦1 天前
python-字符串全解(六):正则表达式-分组
python·mysql·正则表达式·分组
临床数据科学和人工智能兴趣组2 天前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
只愿云淡风清2 天前
正则表达式学习笔记-01 正则表达式的来源
笔记·学习·正则表达式
半亩码田3 天前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#
残诗3 天前
正则表达式分类掌握与应用
正则表达式
databook9 天前
面向数据工程师的正则表达式:从日志清洗到字段提取
python·正则表达式·数据分析
小白快快跑哦10 天前
python-字符串全解(六):正则表达式-位置断言
python·正则表达式·位置断言
哭泣方源炼蛊13 天前
正则表达式c++内容汇集
数据库·c++·mysql·正则表达式