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

工作记录-------正则表达式---小白也能看懂

什么是正则表达式

正则表达式是一种强大的工具,用于匹配和识别文本模式。
下面是一个基本的介绍:

  1. ^ 和 $:

这些是锚定字符,分别匹配字符串的开头和结尾。例如,^Hello匹配以 “Hello” 开头的字符串,end$匹配以 “end” 结尾的字符串。

  1. .: 点号匹配任何单个字符(除了换行符 \n)。

  2. [ ]: 方括号内放置字符集合,匹配其中任何一个字符。比如,[abc]匹配字符 ‘a’、‘b’ 或 ‘c’ 中的任意一个。

  3. [^ ]: 方括号内的 ^ 放在开头时,表示取反,匹配除了方括号内字符之外的任何字符。

  4. \d, \w, \s: 分别匹配数字、字母数字下划线(单词字符)、空白字符(空格、制表符等)。

  5. \D, \W, \S: 这些是对应小写字符的反义,匹配非数字、非单词字符、非空白字符。

  6. \b, \B: 单词边界(单词开头或结尾)和非单词边界。

  7. { }, *, +, ?: 用于指定重复次数。

    • {n}:匹配前面的元素恰好 n 次。
    • {n,}:匹配前面的元素至少 n 次。
    • {n,m}:匹配前面的元素至少 n 次,最多 m 次。
    • *:匹配前面的元素零次或多次。
    • +:匹配前面的元素一次或多次。
    • ?:匹配前面的元素零次或一次(可选)。
  8. |: 管道符表示“或”的意思,匹配两个模式之一。比如,cat|dog匹配 “cat” 或 “dog”。

  9. ( ): 用于创建捕获组,可以提取匹配的部分。

这些是正则表达式中常用的一些基本元素,结合它们可以构建复杂的模式来匹配各种文本。

举例:正则表达式—手机号码
这段代码是一个用来验证手机号码格式的正则表达式。让我们来解释一下它的结构和含义:

public static final String PHONE_REGEX = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";
  1. ^: 正则表达式的开始位置锚定,用于匹配字符串的开头。
  2. 1: 匹配手机号码的开头,中国手机号码通常以1开头。
  3. ([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89]): 这部分是手机号码的第二位数字的模式匹配。它是一个分组,匹配了不同开头的手机号码数字规则。
    • [38][0-9]: 匹配以3或8开头的数字后接任意数字。
    • 4[579]: 匹配以4开头的数字后接5、7、或9中的一个数字。
    • 5[0-3,5-9]: 匹配以5开头的数字后接0到3之间的数字或5到9之间的数字。
    • 6[6]: 匹配以6开头的数字后接6。
    • 7[0135678]: 匹配以7开头的数字后接0、1、3、5、6、7、8中的一个数字。
    • 9[89]: 匹配以9开头的数字后接8或9。
  4. \\d{8}: 表示接下来应该匹配8个数字。\\d 表示任意数字,{8} 表示前面的模式(这里是数字)重复出现8次。
  5. $: 正则表达式的结尾位置锚定,用于匹配字符串的结尾。

这个正则表达式是用来验证中国大陆手机号码格式的,匹配规则是以1开头,并且符合国内手机号码的第二位规定,接着后面是8个数字。

http://www.lryc.cn/news/277244.html

相关文章:

  • C3-1.3.1 无监督学习——异常检测
  • 1.4.1机器学习——梯度下降+α学习率大小判定
  • 在IntelliJ IDEA中,.idea文件是什么,可以删除吗
  • 【Spring Cloud】Gateway组件的三种使用方式
  • 对象的复制
  • 基于 Python+Neo4j+医药数据,构建了一个知识图谱的自动问答系统
  • Maven之属性管理
  • 快乐学Python,数据分析之获取数据方法「公开数据或爬虫」
  • 前端常用的设计模式
  • 游戏引擎支持脚本编程有啥好处
  • react中概念性总结(二)
  • WPF自定义漂亮顶部工具栏 WPF自定义精致最大化关闭工具栏 wpf导航栏自定义 WPF快速开发工具栏
  • Transformer 的双向编码器表示 (BERT)
  • 关于LwRB环形缓冲区开源库的纯C++版本支持原子操作
  • 微信小程序Canvas画布绘制图片、文字、矩形、(椭)圆、直线
  • Unity Editor实用功能:Hierarchy面板的对象上绘制按按钮并响应
  • 解决录制的 mp4 视频文件在 windows 无法播放的问题
  • 一键与图片对话!LLM实现图片关键信息提取与交互
  • 洛谷 P8833 [传智杯 #3 决赛] 课程 讲解
  • 中国IT产经新闻:新能源汽车发展前景与燃油车的利弊之争
  • 一、数据结构
  • 案例分享:各行业销售岗位的KPI指标制定分享
  • 【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格
  • spring boot 2升级为spring boot 3中数据库连接池druid的问题
  • 客服系统配置之Nginx处理静态资源和动态请求
  • Golang 切片
  • 防止公司办公终端文件数据 | 资料外泄,——自动智能透明加密防泄密软件系统
  • C#-枚举
  • Java后端开发——SSM整合实验
  • VMware虚拟机安装Ubuntu