正则表达式 Regular Expression学习

该文章内容为以下视频的学习笔记:

10分钟快速掌握正则表达式_哔哩哔哩_bilibili正则表达式在线测试工具:https://regex101.com/, 视频播放量 441829、弹幕量 1076、点赞数 19330、投硬币枚数 13662、收藏人数 26242、转发人数 2768, 视频作者 奇乐编程学院, 作者简介 ,相关视频:正则表达式30分钟入门40分钟进阶(绝对能学会),【无废话30分钟】Lua快速入门教程 - 4K超清,正则表达式15分钟速成,2022最新 彻底搞懂正则表达式,20分钟学完一遍python基础,一个10分钟的numpy入门教程,15分钟带你快速掌握正则表达式,硬核Python进阶篇 - 一小时掌握正则表达式 【正则表达式,re,Python,正则表达式实例】,Docker 是什么?30秒听懂。,Python小技巧:装饰器(Decorator)https://www.bilibili.com/video/BV1da4y1p7iZ/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=4298755c4e2edc1fe805c41cc2d7379a

1.简介:

**正则表达式:**匹配指定规则的字符串。

应用:

1️⃣编译器中的词法分析器 使用正则表达式去匹配代码中的关键字

2️⃣网站上的注册表单会用到正则表达式去判断密码的复杂程度

3️⃣爬虫中用正则表达式中提取我们需要的信息


2.限定符(一个字符):

(1)?

作用:? 在正则表达式中是一个特殊的字符------限定符,代表前面这个字符需要出现 0 次或者 1 次

(2)*

作用:去匹配 0 个或[多] 个字符(代表没有或者可以出现多次)

(3)+

作用:匹配 出现[1] 次以上的字符

(4){···}

作用:花括号同时允许我们输入一个范围,精确到匹配次数


3.匹配多个字符的重复

匹配中间多次出现的ab


4.OR Operator "或" 运算


5.Character Classes 字符类

匹配由 abc 这几个字母构成的单词

**作用:**方括号里的内交代表要求匹配的字符只能取自于它们

此外可以在方括号里指定字符的范围

例:

  • a-z\]代表所有的小写英文字符

  • a-zA-Z0-9\] 代表所有的英文字符和数字


6.Mera-characters 元字符

正则表达式中的大多数元字符都以反斜杠开头

例:

(1)\d 代表数字字符 等同于 [0-9]

(2)\w 单词字符(英文、数字及下划线)

(3)\s 空白符(包含Tab和换行符)

(4)\D 非数字字符

(5)\W 非单词字符

(6)\S 非空白字符

(7). 字符

作用:代表任意字符,但不代表换行符

(8)^ 匹配行首 $ 配行尾

正则表达式中的脱字符(^)有两种不同的用法:

  1. 字符类([])内部:当脱字符(^)作为字符类的第一个字符时,表示取反操作,即匹配除了指定字符以外的任意字符。例如,正则表达式[^aeiou]匹配任意非元音字母。
  2. 模式开头:当脱字符(^)作为正则表达式的开头时,表示匹配字符串的开始位置。例如,正则表达式^abc匹配以"abc"开头的字符串。

7.实操:

(1)匹配里面里面的 HTML标签

错误:

原因:.+ 会匹配尽可能多的字符 ------>. 代表任意字符

正确方式:

? 会将正则表达式中默认的贪婪匹配(Greedy Match) 切换为懒惰匹配(Lazy Match)


(2)RGB 颜色值匹配

匹配文本中出现的所有十六进制 RGB 颜色值

在表达式末尾加入\b 来代表单词字符的边界

(3)IPv4 地址匹配

IPv4 的地址实际上是由四段数字构成,数字之间由句点隔开

\d+ 会匹配任何长度大于 1 的数字

\. 代表 . 这个字面量(. 是元字符 代表任意字符)

但 IP 地址的每个部分都是 8 位的数字,也就是说它的范围介于 0-255 之间。

正确方式:

  1. 如果它的前两位是25,那么最后一位只能取 0-5 之间的数字
  2. 如果它的第一位是 2,第二位是 0-4 之间的数,那么最后一位可以取 0-9 之间的任意值(用 \d 代替)
  3. 如果它的第一位是 0 或者 1,那么最后两位可以取 00-99 之间的任意数字(用 \d \ d 代替)

IP 地址的每一部分也可以由两位数字构成,甚至是1位。------> 可以直接将这里的第一个数字和第三个数字后面都加一个 ?

📜8.总结:

学习资源:

正则表达式30分钟入门教程 作者:deerchao

https://deerchao.cn/tutorials/regex/regex.htm

Regex tutorial ------A quick cheatsheet by examples(英文)作者:Jonny Fox

https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285

Regular Expressions Tutorial(英文)

https://www.regular-expressions.info/tutorial.html

相关推荐
西岸行者3 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意3 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码3 天前
嵌入式学习路线
学习
毛小茛3 天前
计算机系统概论——校验码
学习
babe小鑫3 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 天前
从“Hello World“ 开始 C++
c语言·c++·学习