第二十七章 正则表达式

第二十七章 正则表达式

  • 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)
    • (? 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张图片
(1)
第二十七章 正则表达式_第4张图片
第二十七章 正则表达式_第5张图片

(2)
第二十七章 正则表达式_第6张图片
第二十七章 正则表达式_第7张图片

(3)
第二十七章 正则表达式_第8张图片
第二十七章 正则表达式_第9张图片

(4)
第二十七章 正则表达式_第10张图片
第二十七章 正则表达式_第11张图片
第二十七章 正则表达式_第12张图片
第二十七章 正则表达式_第13张图片
第二十七章 正则表达式_第14张图片
加个编号
第二十七章 正则表达式_第15张图片
第二十七章 正则表达式_第16张图片
如果我们想要快速提取以下内容的IP地址
第二十七章 正则表达式_第17张图片
第二十七章 正则表达式_第18张图片
第二十七章 正则表达式_第19张图片

2.正则需求问题

第二十七章 正则表达式_第20张图片
第二十七章 正则表达式_第21张图片
第二十七章 正则表达式_第22张图片
第二十七章 正则表达式_第23张图片

3.正则底层实现1

第二十七章 正则表达式_第24张图片
第二十七章 正则表达式_第25张图片
第二十七章 正则表达式_第26张图片
第二十七章 正则表达式_第27张图片

4.正则底层实现2

查找到第一个字符1998的过程
第二十七章 正则表达式_第28张图片
第二十七章 正则表达式_第29张图片
查找到第二个字符1999的过程
第二十七章 正则表达式_第30张图片
第二十七章 正则表达式_第31张图片

5.正则底层实现3

第二十七章 正则表达式_第32张图片
加了一个括号之后
第二十七章 正则表达式_第33张图片
第二十七章 正则表达式_第34张图片
第二十七章 正则表达式_第35张图片
第二十七章 正则表达式_第36张图片

6.正则转义符

第二十七章 正则表达式_第37张图片
第二十七章 正则表达式_第38张图片
第二十七章 正则表达式_第39张图片
第二十七章 正则表达式_第40张图片
注意:如果这里没有转义字符,编译是错误的
第二十七章 正则表达式_第41张图片
第二十七章 正则表达式_第42张图片
下面如果我们只写一个 . ,表示我们要找到所有字符
如果要找到 . 本身,则需要加上转义字符
第二十七章 正则表达式_第43张图片
第二十七章 正则表达式_第44张图片
第二十七章 正则表达式_第45张图片
第二十七章 正则表达式_第46张图片

7.正则字符匹配

第二十七章 正则表达式_第47张图片
第二十七章 正则表达式_第48张图片
+表示一个或多个的意思

8.字符匹配案例1

第二十七章 正则表达式_第49张图片
第二十七章 正则表达式_第50张图片

第二十七章 正则表达式_第51张图片
第二十七章 正则表达式_第52张图片
第二十七章 正则表达式_第53张图片
在这里插入图片描述
2.
第二十七章 正则表达式_第54张图片
第二十七章 正则表达式_第55张图片
第二十七章 正则表达式_第56张图片
在这里插入图片描述
第二十七章 正则表达式_第57张图片
第二十七章 正则表达式_第58张图片
第二十七章 正则表达式_第59张图片
第二十七章 正则表达式_第60张图片
第二十七章 正则表达式_第61张图片
第二十七章 正则表达式_第62张图片
第二十七章 正则表达式_第63张图片
第二十七章 正则表达式_第64张图片
第二十七章 正则表达式_第65张图片
第二十七章 正则表达式_第66张图片
第二十七章 正则表达式_第67张图片
第二十七章 正则表达式_第68张图片

9.字符匹配案例2

第二十七章 正则表达式_第69张图片
第二十七章 正则表达式_第70张图片
第二十七章 正则表达式_第71张图片
第二十七章 正则表达式_第72张图片
第二十七章 正则表达式_第73张图片
第二十七章 正则表达式_第74张图片
第二十七章 正则表达式_第75张图片
第二十七章 正则表达式_第76张图片
第二十七章 正则表达式_第77张图片
第二十七章 正则表达式_第78张图片
第二十七章 正则表达式_第79张图片
第二十七章 正则表达式_第80张图片
在这里插入图片描述
第二十七章 正则表达式_第81张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第二十七章 正则表达式_第82张图片
第二十七章 正则表达式_第83张图片
第二十七章 正则表达式_第84张图片
第二十七章 正则表达式_第85张图片

11.选择匹配符(|)

第二十七章 正则表达式_第86张图片
第二十七章 正则表达式_第87张图片
第二十七章 正则表达式_第88张图片

12.正则限定符

第二十七章 正则表达式_第89张图片
第二十七章 正则表达式_第90张图片
第二十七章 正则表达式_第91张图片

{n}

第二十七章 正则表达式_第92张图片
在这里插入图片描述
在这里插入图片描述
下面这个表示要出现一个任意的数字,出现两次
第二十七章 正则表达式_第93张图片
在这里插入图片描述
第二十七章 正则表达式_第94张图片

{n,m}

尽可能匹配多的
第二十七章 正则表达式_第95张图片
第二十七章 正则表达式_第96张图片
第二十七章 正则表达式_第97张图片
第二十七章 正则表达式_第98张图片
第二十七章 正则表达式_第99张图片
第二十七章 正则表达式_第100张图片
第二十七章 正则表达式_第101张图片
第二十七章 正则表达式_第102张图片
第二十七章 正则表达式_第103张图片

+(1个或者多个)

在这里插入图片描述
第二十七章 正则表达式_第104张图片
在这里插入图片描述
第二十七章 正则表达式_第105张图片
第二十七章 正则表达式_第106张图片

*(0个或者多个)

在这里插入图片描述
第二十七章 正则表达式_第107张图片

?(0个或者1个)

在这里插入图片描述
第二十七章 正则表达式_第108张图片
第二十七章 正则表达式_第109张图片
第二十七章 正则表达式_第110张图片

13.正则定位符

第二十七章 正则表达式_第111张图片

^ 指定起始字符

在这里插入图片描述

第二十七章 正则表达式_第112张图片
第二十七章 正则表达式_第113张图片
第二十七章 正则表达式_第114张图片
这里一个都匹配不到,因为不是以数字开头的
在这里插入图片描述
第二十七章 正则表达式_第115张图片
在这里插入图片描述
在这里插入图片描述
第二十七章 正则表达式_第116张图片

$ 指定结束字符

在这里插入图片描述

第二十七章 正则表达式_第117张图片
在这里插入图片描述
第二十七章 正则表达式_第118张图片
第二十七章 正则表达式_第119张图片

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

在这里插入图片描述
第二十七章 正则表达式_第120张图片
第二十七章 正则表达式_第121张图片
第二十七章 正则表达式_第122张图片
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
第二十七章 正则表达式_第123张图片
在这里插入图片描述

14.捕获分组

第二十七章 正则表达式_第124张图片
第二十七章 正则表达式_第125张图片
第二十七章 正则表达式_第126张图片

(pattern)

第二十七章 正则表达式_第127张图片
第二十七章 正则表达式_第128张图片
第二十七章 正则表达式_第129张图片
第二十七章 正则表达式_第130张图片
在这里插入图片描述

(? pattern)

在这里插入图片描述
第二十七章 正则表达式_第131张图片
第二十七章 正则表达式_第132张图片
第二十七章 正则表达式_第133张图片

15.非捕获分组

第二十七章 正则表达式_第134张图片
第二十七章 正则表达式_第135张图片

(?:pattern)

在这里插入图片描述
第二十七章 正则表达式_第136张图片
第二十七章 正则表达式_第137张图片
第二十七章 正则表达式_第138张图片
第二十七章 正则表达式_第139张图片

(?=pattern)

在这里插入图片描述
第二十七章 正则表达式_第140张图片

第二十七章 正则表达式_第141张图片

(?!pattern)

在这里插入图片描述
第二十七章 正则表达式_第142张图片
第二十七章 正则表达式_第143张图片

16.非贪婪匹配

在这里插入图片描述
第二十七章 正则表达式_第144张图片
在这里插入图片描述
第二十七章 正则表达式_第145张图片
第二十七章 正则表达式_第146张图片

17.正则应用实例

第二十七章 正则表达式_第147张图片

1.汉字

第二十七章 正则表达式_第148张图片
这里的中文的范围用16进制来表示
第二十七章 正则表达式_第149张图片
第二十七章 正则表达式_第150张图片
在这里插入图片描述

2.邮政编码

第二十七章 正则表达式_第151张图片
在这里插入图片描述

3.QQ号码

第二十七章 正则表达式_第152张图片
在这里插入图片描述

4.手机号码

第二十七章 正则表达式_第153张图片
第二十七章 正则表达式_第154张图片

18.正则验证复杂URL

第二十七章 正则表达式_第155张图片
第二十七章 正则表达式_第156张图片
在这里插入图片描述
第二十七章 正则表达式_第157张图片
第二十七章 正则表达式_第158张图片
第二十七章 正则表达式_第159张图片
第二十七章 正则表达式_第160张图片
在这里插入图片描述
第二十七章 正则表达式_第161张图片
在这里插入图片描述
第二十七章 正则表达式_第162张图片
第二十七章 正则表达式_第163张图片
在这里插入图片描述
在这里插入图片描述
第二十七章 正则表达式_第164张图片
第二十七章 正则表达式_第165张图片

19.Pattern类

第二十七章 正则表达式_第166张图片
第二十七章 正则表达式_第167张图片
第二十七章 正则表达式_第168张图片
在这里插入图片描述
第二十七章 正则表达式_第169张图片
在这里插入图片描述

20.Matcher类

第二十七章 正则表达式_第170张图片
第二十七章 正则表达式_第171张图片

start/end

第二十七章 正则表达式_第172张图片
第二十七章 正则表达式_第173张图片
第二十七章 正则表达式_第174张图片
第二十七章 正则表达式_第175张图片

matches

第二十七章 正则表达式_第176张图片
第二十七章 正则表达式_第177张图片
第二十七章 正则表达式_第178张图片
第二十七章 正则表达式_第179张图片

replaceAll

第二十七章 正则表达式_第180张图片
第二十七章 正则表达式_第181张图片
第二十七章 正则表达式_第182张图片
在这里插入图片描述

21.反向引用

第二十七章 正则表达式_第183张图片
第二十七章 正则表达式_第184张图片

22.反向引用案例

第二十七章 正则表达式_第185张图片
第二十七章 正则表达式_第186张图片
第二十七章 正则表达式_第187张图片
第二十七章 正则表达式_第188张图片
第二十七章 正则表达式_第189张图片
第二十七章 正则表达式_第190张图片
在这里插入图片描述
在这里插入图片描述
第二十七章 正则表达式_第191张图片
第二十七章 正则表达式_第192张图片
在这里插入图片描述

23.结巴去重案例

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

24.替换分割匹配

第二十七章 正则表达式_第200张图片
第二十七章 正则表达式_第201张图片
第二十七章 正则表达式_第202张图片
第二十七章 正则表达式_第203张图片
第二十七章 正则表达式_第204张图片
在这里插入图片描述
第二十七章 正则表达式_第205张图片
第二十七章 正则表达式_第206张图片
第二十七章 正则表达式_第207张图片

25.本章练习01

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

26.本章练习02

第二十七章 正则表达式_第211张图片
第二十七章 正则表达式_第212张图片
第二十七章 正则表达式_第213张图片
这里有个问题,下面这种写法也是正确的
第二十七章 正则表达式_第214张图片
第二十七章 正则表达式_第215张图片
下面在做一下改进
第二十七章 正则表达式_第216张图片
第二十七章 正则表达式_第217张图片

27.本章作业03

第二十七章 正则表达式_第218张图片
/abc这部分可以有0个或者多个
第二十七章 正则表达式_第219张图片
第二十七章 正则表达式_第220张图片
第二十七章 正则表达式_第221张图片

你可能感兴趣的:(JAVA第二阶段2,正则表达式,java)