第二十七章 正则表达式

news/2024/7/5 9:50:09

第二十七章 正则表达式

  • 1.正则快速入门
  • 2.正则需求问题
  • 3.正则底层实现1
  • 4.正则底层实现2
  • 5.正则底层实现3
  • 6.正则转义符
  • 7.正则字符匹配
  • 8.字符匹配案例1
  • 9.字符匹配案例2
  • 11.选择匹配符(|)
  • 12.正则限定符
    • {n}
    • {n,m}
    • +(1个或者多个)
    • *(0个或者多个)
    • ?(0个或者1个)
  • 13.正则定位符
    • ^ 指定起始字符
    • $ 指定结束字符
    • \\\b 匹配目标字符串的边界
    • \\\B 匹配目标字符串的非边界
  • 14.捕获分组
    • (pattern)
    • (?<name> pattern)
  • 15.非捕获分组
    • (?:pattern)
    • (?=pattern)
    • (?!pattern)
  • 16.非贪婪匹配
  • 17.正则应用实例
    • 1.汉字
    • 2.邮政编码
    • 3.QQ号码
    • 4.手机号码
  • 18.正则验证复杂URL
  • 19.Pattern类
  • 20.Matcher类
    • start/end
    • matches
    • replaceAll
  • 21.反向引用
  • 22.反向引用案例
  • 23.结巴去重案例
  • 24.替换分割匹配
  • 25.本章练习01
  • 26.本章练习02
  • 27.本章作业03

在这里插入图片描述

1.正则快速入门

在这里插入图片描述
在这里插入图片描述
(1)
在这里插入图片描述
在这里插入图片描述

(2)
在这里插入图片描述
在这里插入图片描述

(3)
在这里插入图片描述
在这里插入图片描述

(4)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
加个编号
在这里插入图片描述
在这里插入图片描述
如果我们想要快速提取以下内容的IP地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.正则需求问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.正则底层实现1

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.正则底层实现2

查找到第一个字符1998的过程
在这里插入图片描述
在这里插入图片描述
查找到第二个字符1999的过程
在这里插入图片描述
在这里插入图片描述

5.正则底层实现3

在这里插入图片描述
加了一个括号之后
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.正则转义符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:如果这里没有转义字符,编译是错误的
在这里插入图片描述
在这里插入图片描述
下面如果我们只写一个 . ,表示我们要找到所有字符
如果要找到 . 本身,则需要加上转义字符
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.正则字符匹配

在这里插入图片描述
在这里插入图片描述
+表示一个或多个的意思

8.字符匹配案例1

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.字符匹配案例2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

11.选择匹配符(|)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12.正则限定符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

{n}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
下面这个表示要出现一个任意的数字,出现两次
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

{n,m}

尽可能匹配多的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

+(1个或者多个)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

*(0个或者多个)

在这里插入图片描述
在这里插入图片描述

?(0个或者1个)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

13.正则定位符

在这里插入图片描述

^ 指定起始字符

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里一个都匹配不到,因为不是以数字开头的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

$ 指定结束字符

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

\\b 匹配目标字符串的边界

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

\\B 匹配目标字符串的非边界

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

14.捕获分组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(pattern)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(? pattern)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

15.非捕获分组

在这里插入图片描述
在这里插入图片描述

(?:pattern)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(?=pattern)

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

(?!pattern)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

16.非贪婪匹配

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

17.正则应用实例

在这里插入图片描述

1.汉字

在这里插入图片描述
这里的中文的范围用16进制来表示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.邮政编码

在这里插入图片描述
在这里插入图片描述

3.QQ号码

在这里插入图片描述
在这里插入图片描述

4.手机号码

在这里插入图片描述
在这里插入图片描述

18.正则验证复杂URL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

19.Pattern类

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

20.Matcher类

在这里插入图片描述
在这里插入图片描述

start/end

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

matches

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

replaceAll

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

21.反向引用

在这里插入图片描述
在这里插入图片描述

22.反向引用案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

23.结巴去重案例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
就是:虽然上面的正则表达式是匹配到的连续重复的字,但是捕获的是圆括号里面的内容, 所以捕获的组里面的字只有一个,因此使用replaceAll(“$1”)的意思是:用捕获到的单个字去替换匹配到的多个字
在这里插入图片描述
在这里插入图片描述

24.替换分割匹配

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

25.本章练习01

在这里插入图片描述
. 在小括号中表示匹配任意字符,所以要写成\.
这里直接用了String自带的matches方法
在这里插入图片描述
在这里插入图片描述
加一个^和$更好
在这里插入图片描述
在这里插入图片描述
前面不加也可以的原因是
在这里插入图片描述

26.本章练习02

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里有个问题,下面这种写法也是正确的
在这里插入图片描述
在这里插入图片描述
下面在做一下改进
在这里插入图片描述
在这里插入图片描述

27.本章作业03

在这里插入图片描述
/abc这部分可以有0个或者多个
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1931457.html

相关文章

力扣42. 接雨水

双指针法 思路&#xff1a; 将数组前后设置为 left、right 指针&#xff0c;相互靠近&#xff1b;在逼近的过程中记录两端最大的值 leftMax、rightMax&#xff0c;作为容器的左右边界&#xff1b;更新指针规则&#xff1a; 如果数组左边的值比右边的小&#xff0c;则更新 left…

Python中的协程、线程和进程

一.协程与多线程和多进程一起使用有什么不同 协程、多线程和多进程都是实现程序并发执行的方法&#xff0c;不过它们在工作方式和适合的应用场景上存在一些区别。 1.协程&#xff08;Coroutine&#xff09; 协程是在单一线程内部实现并发的&#xff0c;由于只涉及单一线程&…

Spring Boot 如何使用 Maven 实现多环境配置管理

Spring Boot 如何使用 Maven 实现多环境配置管理 实现多环境配置有以下几个重要原因&#xff1a; 适应不同的部署环境&#xff1a;在实际部署应用程序时&#xff0c;通常会有多个不同的部署环境&#xff0c;如开发环境、测试环境、生产环境等。每个环境可能需要不同的配置&…

【算法题】33. 搜索旋转排序数组

题目 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], ..., nums[n-1], nums[0], nums[…

20 太空漫游

效果演示 实现了一个太空漫游的动画效果&#xff0c;其中包括火箭、星星和月亮。当鼠标悬停在卡片上时&#xff0c;太阳和星星会变成黄色&#xff0c;火箭会变成飞机&#xff0c;月亮会变成小型的月亮。整个效果非常炫酷&#xff0c;可以让人想起科幻电影中的太空漫游。 Code &…

几个实用网站

论文短语&#xff1a;https://www.phrasebank.manchester.ac.uk/ 翻译&#xff1a;https://www.deepl.com/en/translator 润色&#xff1a;https://quillbot.com/ 榜单&#xff1a;www.paperwithcode.com ****NLP民工的乐园: 几乎最全的中文NLP资源库&#xff1a;****https…

基于STM32+QT设计的无人超市消费系统_139

基于STM32+QT设计的无人超市消费系统 一、前言 1.1 研究背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 超市形式在我国于20世纪90年代初期起步,现已成为我国零售业的一种重要形态…

【刷题日志】深度理解除(/)与取模(%)附水仙花数以及变种水仙花数题解

文章目录 &#x1f680;前言&#x1f680;除与取模&#x1f680;水仙花数&#x1f680;变种水仙花数 &#x1f680;前言 本专栏文章都直奔刷题主题&#xff0c;阿辉都不会在废话了&#xff0c;加油&#xff0c;少年&#xff01;&#xff01;&#xff01; &#x1f680;除与取…