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

基础 - 正则表达式

前言

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

推荐的正则表达式校验网站: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]|[12]\d|3[01])\d{3}[\dXx]$18位身份证验证,格式ddddddyyyymmddxxxy,dddddd为地区码,yyyymmdd为出生日期,xxx为顺序码,y为校验码(数字或者X)
^[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中文
http://www.dtcms.com/a/469681.html

相关文章:

  • 旅游网站系统网站上设置多语言怎么做
  • 第三方软件验收测试公司【如何深入理解SSL/TLS证书】
  • JavaWeb——ServletConfig
  • QwenVL - 202310版-论文阅读
  • 如何从 FastReport .NET 将报表导出为 JPEG / PNG / BMP / GIF / TIFF / EMF
  • .NET MCP Server 开发教程
  • LeetCode 124. 二叉树中的最大路径和(困难)
  • 建设南大街小学网站wordpress首页调用指定文章列表
  • 大型语言模型(LLM)基础:从原理到核心概念详解(GPT-4 / 文心一言 / 通义千问)
  • python高级03——多任务编程
  • 树模型优劣大比拼xgboost/lightgbm/RF/catboost,股价预测怎么选模型
  • 哈尔滨快速建站公司推荐营销型网站建设实战》
  • 4.3-中间件之Kafka
  • 方寸之间见天地:新兴高端印章的当代破局与价值重构
  • 如何改善基于深度学习的场重构
  • Maven 进行项目构建settings.xml 配置教程
  • 磁力搜索网站怎么做的网站和app设计区别
  • 西安网站建设公司都有哪些网站设计开发文档模板下载
  • C++设计模式_结构型模式_桥接模式Bridge
  • 关于flutter插件的存储位置问题
  • 把“Mixed Content”吃干抹净——一次 https→http 踩坑实录
  • 中山大学联合项目 论文解读 | iManip:面向机器人操作的技能增量学习
  • Unity:Json笔记——Json文件格式、JsonUtlity序列化和反序列化
  • 第八章 惊喜15 小萍收获初会
  • RabbitMQ基础知识与Spring Boot 3.x集成案例
  • 租房网站建设多少钱网站域名怎么改
  • Redis CPU高负载案例分析
  • ARMv9 CCA机密计算架构演进技术解析:重塑云原生时代的数据安全基石
  • 湖州网站设计浙北数据最新发布的手机有哪些
  • AD加域账号权限设置