基础 - 正则表达式

前言

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

推荐的正则表达式校验网站: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中文
相关推荐
for_ever_love__2 天前
python基础语法学习: 正则表达式
python·学习·正则表达式
asdfg12589633 天前
一个例子通俗理解Java中正则表达式用法
java·正则表达式
Tanner_SL4 天前
Linux笔记之正则表达式和文本处理grep,sed,awk命令
linux·正则表达式
谢亮_vipxieliang5 天前
手机号验证技术方案:号段规则与正则表达式
java·服务器·spring boot·正则表达式·hibernate
zx_741484815 天前
【Python 入门】Python 正则表达式零基础讲解:基础语法 + 元字符 + 常用案例
python·正则表达式
deli0070075 天前
正则表达式可视化测试工具:输入即匹配,高亮一目了然
git·测试工具·正则表达式
ydd1001007 天前
正则表达式匹配
正则表达式·代理模式
落魄大学生之流水线上谋生计7 天前
正则表达式完全指南:从入门到精通
正则表达式
tianyu2349 天前
Java 正则表达式终极指南:从 Pattern 到 Matcher,从双重转义到性能优化,一篇全搞定
java·开发语言·正则表达式·group·find·pattern·matcher
OPEN-F11 天前
Python进阶教程:正则表达式进阶与文本处理
开发语言·python·正则表达式