当前位置: 首页 > 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个数字。

相关文章:

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

什么是正则表达式 正则表达式是一种强大的工具,用于匹配和识别文本模式。 下面是一个基本的介绍: ^ 和 $: 这些是锚定字符,分别匹配字符串的开头和结尾。例如,^Hello匹配以 “Hello” 开头的字符串,end$匹配以 “en…...

C3-1.3.1 无监督学习——异常检测

C3-1.3.1 无监督学习——异常检测 1、举例:异常值检测示例——密度评估法 1.1 举一个例子 这里做的是 查看飞机发动机 异常检测: 左侧:X1 ,X2 … 是 可能会影响发动机状态的特征右侧: Dataset:训练数据集New engine…...

1.4.1机器学习——梯度下降+α学习率大小判定

1.4.1梯度下降 4.1、梯度下降的概念 ※【总结一句话】:系统通过自动的调节参数w和b的值,得到最小的损失函数值J。 如下:是梯度下降的概念图。 我们有一个损失函数 J(w,b),包含两个参数w和b(你可以想象成J(w,b) w*x…...

在IntelliJ IDEA中,.idea文件是什么,可以删除吗

相信有很多小伙伴,在用idea写java代码的时候,创建工程总是会出现.idea文件,该文件也从来没去打开使用过,那么它在我们项目里面,扮演什么角色,到底能不能删除它呢? 1、它是什么?有什么…...

【Spring Cloud】Gateway组件的三种使用方式

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《Spring Cloud》。🎯🎯 &am…...

对象的复制

方式一:sv 的new函数 trans tr1,tr2; malbox.get(tr2); tr1 new tr2;//仅用于浅拷贝,拷贝后tr1,tr2为两个独立的对象方式二:uvm 域的自动化常用函数:copy / clone / 使用前提: 1. 函数都可用于uvm_object类型&…...

基于 Python+Neo4j+医药数据,构建了一个知识图谱的自动问答系统

知识图谱是目前自然语言处理的一个热门方向。目前知识图谱在各个领域全面开花,如教育、医疗、司法、金融等。 本项目立足医药领域,以垂直型医药网站为数据来源,以疾病为核心,构建起一个包含7类规模为4.4万的知识实体,…...

Maven之属性管理

1.属性管理 1.1 属性配置与使用 ①&#xff1a;定义属性 <!--定义自定义属性--> <properties><spring.version>5.2.10.RELEASE</spring.version> </properties>②&#xff1a;引用属性 <dependency><groupId>org.springframewor…...

快乐学Python,数据分析之获取数据方法「公开数据或爬虫」

学习Python数据分析&#xff0c;第一步是先获取数据&#xff0c;为什么说数据获取是数据分析的第一步呢&#xff0c;显而易见&#xff1a;数据分析&#xff0c;得先有数据&#xff0c;才能分析。 作为个人来说&#xff0c;如何获取用于分析的数据集呢&#xff1f; 1、获取现成…...

前端常用的设计模式

设计模式&#xff1a;是一种抽象的编程思想&#xff0c;并不局限于某一特定的编程语言&#xff0c;而是在许多语言之间是相通的&#xff1b;它是软件设计中常见的问题的通用、可反复使用、多少人知晓的一种解决方案或者模板。一般对与从事过面向对象编程的人来说会更熟悉一些。…...

游戏引擎支持脚本编程有啥好处

很多游戏引擎都支持脚本编程。Unity、Unreal Engine、CryEngine等大型游戏引擎都支持使用脚本编写游戏逻辑和功能。脚本编程通常使用C#、Lua或Python等编程语言&#xff0c;并且可以与游戏引擎的API进行交互来控制游戏对象、设置变量、执行行为等。使用脚本编程&#xff0c;游戏…...

react中概念性总结(二)

目录 说说你对react的理解&#xff1f;有哪些特性&#xff1f; 说说Real diff算法是怎么运作的&#xff0c;从tree层到component层到element层分别讲解&#xff1f; 调和阶段setState干了什么&#xff1f; 说说redux的工作流程&#xff1f; 为什么react元素有一个$$type属…...

WPF自定义漂亮顶部工具栏 WPF自定义精致最大化关闭工具栏 wpf导航栏自定义 WPF快速开发工具栏

在WPF应用程序开发中&#xff0c;自定义一个漂亮的顶部工具栏具有多重关键作用&#xff0c;它不仅增强了用户体验&#xff0c;还提升了整体应用的专业性和易用性。以下是对这一功能的详细介绍&#xff1a; 首先&#xff0c;自定义顶部工具栏是用户界面设计的重要组成部分&…...

Transformer 的双向编码器表示 (BERT)

一、说明 本文介绍语言句法中&#xff0c;最可能的单词填空在self-attention的表现形式&#xff0c;以及内部原理的介绍。 二、关于本文概述 在我之前的博客中&#xff0c;我们研究了关于生成式预训练 Transformer 的完整概述&#xff0c;关于生成式预训练 Transformer (GPT) 的…...

关于LwRB环形缓冲区开源库的纯C++版本支持原子操作

1、LwRB环形缓冲区开源库&#xff1a; GitHub - MaJerle/lwrb: Lightweight generic ring buffer manager libraryLightweight generic ring buffer manager library. Contribute to MaJerle/lwrb development by creating an account on GitHub.https://github.com/MaJerle/l…...

微信小程序Canvas画布绘制图片、文字、矩形、(椭)圆、直线

获取CanvasRenderingContext2D 对象 .js onReady() {const query = wx.createSelectorQuery()query.select(#myCanvas).fields({ node: true, size: true }).exec((res) => {const canvas = res[0].nodeconst ctx = canvas.getContext(2d)canvas.width = res[0].width * d…...

Unity Editor实用功能:Hierarchy面板的对象上绘制按按钮并响应

目录 需求描述上代码打个赏吧 需求描述 现在有这样一个需求&#xff1a; 在Hierarchy面板的对象上绘制按钮点击按钮&#xff0c;弹出菜单再点击菜单项目响应自定义操作在这里的响应主要是复制对象层级路路径 看具体效果请看动图&#xff1a; 注&#xff1a; 核心是对Edito…...

解决录制的 mp4 视频文件在 windows 无法播放的问题

解决录制的 mp4 视频文件在 windows 无法播放的问题 kazam 默认录制保存下来的 mp4 视频文件在 windows 中是无法直接使用的&#xff0c;这是由于视频编码方式的问题。解决办法&#xff1a; 首先安装 ffmeg 编码工具&#xff1a; sudo apt-get install ffmpeg 然后改变视频的…...

一键与图片对话!LLM实现图片关键信息提取与交互

本期文心开发者说邀请到飞桨开发者技术专家徐嘉祁&#xff0c;主要介绍了如何通过小模型与大模型的结合&#xff0c;解决数据分析中的问题。 项目背景 在智能涌现的大模型时代&#xff0c;越来越多的企业和研究机构开始探索如何利用大模型来提升工作效率&#xff0c;助力业务智…...

洛谷 P8833 [传智杯 #3 决赛] 课程 讲解

前言&#xff1a; 大家好&#xff01; 我们又见面啦~~~ 对于我20多天没上号&#xff0c;深表歉意&#xff01;&#xff01; 希望大家给我的account点一个赞&#xff0c;加一个粉丝&#xff0c;谢谢&#xff01; 也对CSDN的所有博主们送上衷心的祝福&#xff01; 如有错误…...

中国IT产经新闻:新能源汽车发展前景与燃油车的利弊之争

随着科技的进步和环保意识的提高&#xff0c;新能源汽车在全球范围内逐渐受到重视。然而&#xff0c;在新能源汽车迅速发展的同时&#xff0c;燃油车仍然占据着主导地位。本文将从新能源与燃油车的利弊、新能源汽车的发展前景两个方面进行分析&#xff0c;以期为读者提供全面的…...

一、数据结构

一、 数组 1.1 数组 定义 遍历 // 遍历数组 传递指针 func traverse() {var b [...]int{1, 2, 3} //长度为3 元素为 1 2 3var ptr &b //ptr是指向数组的指针fmt.Println(b[0], b[1]) // 打印数组的前 2 个元素fmt.Println(ptr[0], ptr[1]) // 通…...

案例分享:各行业销售岗位的KPI指标制定分享

在当今竞争激烈的市场环境中&#xff0c;销售岗位的绩效考核至关重要。有效的绩效考核能帮助企业了解销售人员的业绩&#xff0c;激励他们提高效率&#xff0c;并确保销售战略的实现。关键绩效指标&#xff08;KPI&#xff09;作为绩效考核的核心&#xff0c;能精炼地反映销售人…...

【办公类-19-01】20240108图书统计登记表制作(23个班级)EXCEL复制表格并合并表格

背景需求&#xff1a; 制作一个EXCEL模板&#xff0c;每个班级的班主任统计 班级图书量&#xff08;一个孩子10本&#xff0c;最多35个孩子350本&#xff09; EXCEL模板 1.0版本&#xff1a; 将这个模板制作N份——每班一份 项目:班级图书统计表 核心:一个EXCEL模板批量生成…...

spring boot 2升级为spring boot 3中数据库连接池druid的问题

目录 ConfigurationClassPostProcessor ConfigurationClassBeanDefinitionReader MybatisPlusAutoConfiguration ConditionEvaluator OnBeanCondition 总结 近期给了一个任务&#xff0c;要求是对现有的 spring boot 2.x 项目进行升级&#xff0c;由于 spring boot 2.x 版…...

客服系统配置之Nginx处理静态资源和动态请求

Nginx直接处理静态资源&#xff0c;接口动态请求走反向代理到后端 这样可以减轻后端服务的压力 location / {try_files $uri kefu; }location kefu {# 这里是命名位置 kefu 的配置proxy_pass http://backend-server;# 其他反向代理的配置... }如果请求的是静态资源&#xff08…...

Golang 切片

前言 在Go语言中&#xff0c;切片是一个引用类型&#xff0c;它提供了对数组的动态窗口。切片并不存储任何数据&#xff0c;它只是描述了底层数组中的一个片段。切片的定义包括三个部分&#xff1a;指向数组的指针、切片的长度和切片的容量 基本使用 声明切片&#xff1a;声…...

防止公司办公终端文件数据 | 资料外泄,——自动智能透明加密防泄密软件系统

天锐绿盾公司电脑文件数据资料透明加密防泄密软件系统是一款专门用于保护企业电脑文件数据安全的软件系统。它采用透明加密技术&#xff0c;能够在不影响员工正常工作的情况下&#xff0c;对电脑上的文件数据进行自动加密&#xff0c;从而有效防止企业数据泄密。 PC端访问地址&…...

C#-枚举

枚举类型 (enum type) 是具有一组命名常量的独特的值类型。 下面的示例声明并使用一个名为 Color 的枚举类型&#xff0c;该枚举具有三个常量值 Red、Green 和 Blue&#xff1a; using System; using System;enum Color {Red,Green,Blue }class Test {static void PrintColor(…...

Java后端开发——SSM整合实验

文章目录 Java后端开发——SSM整合实验一、常用方式整合SSM框架二、纯注解方式整合SSM框架 Java后端开发——SSM整合实验 一、常用方式整合SSM框架 1.搭建数据库环境&#xff1a;MySQL数据库中创建一个名称为ssm的数据库&#xff0c;在该数据库中创建一个名称为tb_book的表 …...

成都科技网站建设服务热线/大泽山seo快速排名

原文&#xff1a;Understanding Property Wrappers in SwiftUI 12 Jun 2019 上周&#xff0c;我们介绍了一系列关于 SwiftUI 框架的新帖子。今天&#xff0c;我将继续这个话题&#xff0c;介绍 SwiftUI 的属性包装器 Property Wrapper。SwiftUI 提供的属性包装器包括 State, Bi…...

邪恶东做图网站/竞价托管推广公司

目录 增加产品审批流程 在字典里增加此产品 增加对应的人员审批节点 测试 增加产品审批流程 首先从已有的产品审批类型中复制出新产品的审批类型 insert into SYSStatus (PageName,CompanyId,Pro...

阿里巴巴手工活加工平台/seo流量增长策略

写了个简单的代码&#xff0c;得分17/25 。 满分代码&#xff1a; 需要考虑好多的东西 #include <iostream> #include <vector> #include <algorithm> #include <string.h> using namespace std; int n; //有效位数string deal(string s, int&…...

Windows wordpress搭建/制造企业网站建设

亳州教育网2021蒙城中考成绩查询录取结果入口亳州市教育局网站(http://jyj.bozhou.gov.cn)是2021蒙城中考官方网站&#xff0c;亳州教育局官网jyj.bozhou.gov.cn提供2021蒙城中考成绩查询、蒙城中考报名、志愿填报、高中招生录取查询等信息&#xff0c;广大考生可以登录亳州教育…...

网站建设 技术 哪些内容/最新网站发布

各位考生&#xff1a;各学院拟录取名单已公示完毕。最后录取名单以教育部审核通过的为准。(公示时间&#xff1a;2017年3月31日-2017年4月14日)(公示时间&#xff1a;2017年4月1日-2017年4月17日)(公示时间&#xff1a;2017年4月1日-2017年4月17日)(公示时间&#xff1a;2017年…...

海报设计网站官网/南安网站建设

文章转自 http://ju.outofmemory.cn/entry/278349 https://www.jianshu.com/p/102c4df69af9 RequiredDuringSchedulingRequiredDuringExecution &#xff1a;在调度期间要求满足亲和性或者反亲和性规则&#xff0c;如果不能满足规则&#xff0c;则POD不能被调度到对应的主机上…...