第二十七章 正则表达式
2024-01-02 23:32:57
第二十七章 正则表达式
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个或者多个
文章来源:https://blog.csdn.net/m0_72232218/article/details/135348939
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!