正则表达式 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-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)^ 匹配行首 $ 配行尾
正则表达式中的脱字符(^)有两种不同的用法:
- 在字符类([])内部:当脱字符(^)作为字符类的第一个字符时,表示取反操作,即匹配除了指定字符以外的任意字符。例如,正则表达式[^aeiou]匹配任意非元音字母。
- 在模式开头:当脱字符(^)作为正则表达式的开头时,表示匹配字符串的开始位置。例如,正则表达式^abc匹配以"abc"开头的字符串。
7.实操:
(1)匹配里面里面的 HTML标签
错误:
原因:.+ 会匹配尽可能多的字符 ——>. 代表任意字符
正确方式:
? 会将正则表达式中默认的贪婪匹配(Greedy Match)切换为懒惰匹配(Lazy Match)
(2)RGB 颜色值匹配
匹配文本中出现的所有十六进制 RGB 颜色值
在表达式末尾加入\b 来代表单词字符的边界
(3)IPv4 地址匹配
IPv4 的地址实际上是由四段数字构成,数字之间由句点隔开
\d+ 会匹配任何长度大于 1 的数字
\. 代表 . 这个字面量(. 是元字符 代表任意字符)
但 IP 地址的每个部分都是 8 位的数字,也就是说它的范围介于 0-255 之间。
正确方式:
- 如果它的前两位是25,那么最后一位只能取 0-5 之间的数字
- 如果它的第一位是 2,第二位是 0-4 之间的数,那么最后一位可以取 0-9 之间的任意值(用 \d 代替)
- 如果它的第一位是 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
相关文章:

正则表达式 Regular Expression学习
该文章内容为以下视频的学习笔记: 10分钟快速掌握正则表达式_哔哩哔哩_bilibili正则表达式在线测试工具:https://regex101.com/, 视频播放量 441829、弹幕量 1076、点赞数 19330、投硬币枚数 13662、收藏人数 26242、转发人数 2768, 视频作者 奇乐编程学…...

代谢组学最常用到的数据分析方法(五)
代谢组学是一门对某一生物或细胞所有低分子质量代谢产物(以相对分子质量<1000的有机和无机的代谢物为研究核心区)进行分析的新兴学科。因此从复杂的代谢组学数据中确定与所研究的现象有关的代谢物,筛选出候选生物标记物成为代谢物组学研究…...

105.从前序与中序遍历序列构造二叉树
力扣题目链接(opens new window) 根据一棵树的前序遍历与中序遍历构造二叉树。 注意: 你可以假设树中没有重复的元素。 例如,给出 前序遍历 preorder [3,9,20,15,7] 中序遍历 inorder [9,3,15,20,7] 返回如下的二叉树: class Solution { public:Tr…...

分支定界、分支切割、分支定价的区别
目录 1.从原理的角度 (1)分支定界: (2)分支切割: (3)分支定价: 2.从分支树的角度 (1)分支定界 (2)分支切割 &…...

数字IC前端学习笔记:数字乘法器的优化设计(阵列乘法器)
相关阅读 数字IC前端https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 数字信号处理作为微处理器的核心部件,是决定着总体处理器性能的因素之一,而数字乘法器是最常见的一种数字信号处理电路。通常情况下&#…...

批量删除wordpress文章修订版本/自动草稿残留数据(3种方法)及四种方法禁用WordPress文章历史修订/自动保存/自动草稿功能
目录 1、批量删除wordpress文章修订版本/自动草稿残留数据(3种方法) 方法一:SQL命令批量删除 命令: 方法二:利用PHP代码来删除 方法三:利用数据库清理优化插件 WP Clean Up 或 WP Cleaner 批量删除 2…...

HTTP初识,fiddler的使用,URL各部分介绍,QueryString
目录 一、什么是HTTP 二、抓包工具 三、请求的首行 URL 四、URL的各部分详细介绍 一、什么是HTTP 现在网页上,我们常见的是https,但是在二十年前是以http为主,这个协议也叫超文本传输协议,文本->字符串,“超文本”->图片…...

计算机毕业设计 基于SpringBoot的图书馆管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
第三章:最新版零基础学习 PYTHON 教程(第十二节 - Python 运算符—Python 中的运算符函数 - 套装1)
Python 在“operator”模块下预定义了许多数学、逻辑、关系、位等运算的函数。本文介绍了一些基本功能。 1. add(a, b):- 该函数返回给定参数的加法。 操作-a +b。 2. sub(a, b):- 该函数返回给定参数的差值。 操作-a -b。 3. mul(a, b):- 该函数返回给定参数的乘积。 操…...

AAD基础知识(identity/token/PRT)
简介 AAD(Azure Active Directory/Azure AD)是微软基于云身份验证和访问控制的解决方案,通过SSO登录其他o365应用(word/outlook/teams…) 微软在2023年7月把AAD重命名为Microsoft Entra ID,官网:https://www.microsoft.com/zh-cn/security/b…...

基于SSM的视频点播系统设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...
React 知识点总结
本篇文章是我自己总结已经写过的react知识点,大框架已生成,知识持续更新中。仅供参考 生命周期 React 生命周期 组件基础 react中受控组件与非受控组件 React Portals 理解React页面渲染原理,如何优化React性能? 学习篇之R…...
ALSA project the C library refrerenc (ALSA工程 C库参考说明)
作者: Jaroslav Kysela perexperex.cz Abramo Bagnara abramoalsa-project.org Takashi Iwai tiwaisuse.de Frank van de Pol fvdpolcoil.demon.nl前言: 高级linux音频架构(ALSA)来自内核API和库的API.这个篇文章描述了应用层库API和内核层API对应是怎么的interfaces.API用法: …...

【Maven基础篇-黑马程序员】Maven项目管理从基础到高级,一次搞定!
文章目录 前言Maven简介Maven是什么Maven的作用 Maven的下载与安装Maven基础概念仓库坐标仓库配置全局setting与用户setting区别 第一个Maven程序(手工制作)第一个Maven程序(IDEA生成)使用模版(骨架)创建Ma…...

MySQL进阶 —— 超详细操作演示!!!(下)
MySQL进阶 —— 超详细操作演示!!!(下) 五、锁5.1 概述5.2 全局锁5.3 表级锁5.4 行级锁 六、InnoDB 引擎6.1 逻辑存储结构6.2 架构6.3 事务原理6.4 MVCC 七、MySQL 管理7.1 系统数据库7.2 常用工具 MySQL— 基础语法大…...
SVM(上):如何用一根棍子将蓝红两色球分开?
⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ 🐴作者:秋无之地 🐴简介:CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作,主要擅长领域有:爬虫、后端、大数据开发、数据分析等。 🐴欢迎小伙伴们点赞👍🏻、收藏⭐️、…...

libevent源码学习笔记
libevent源码学习笔记 libevent安装libevent源码解析(1)事件对象(2)事件操作(3)事件循环(4)事件处理 常用指令问题记录问题一:长连接的管理问题二:连接关闭问…...
C++ opencv设置视频的捕获方式为 MJPG设置失败
我有一款4k摄像头,在设置分辨率为4k的时候总是出现帧率不够的情况, 使用命令查看 v4l2-ctl --device/dev/video0 --list-formats-ext发现 v4l2-ctl --device/dev/video0 --list-formats-ext ioctl: VIDIOC_ENUM_FMTType: Video Capture[0]: MJPG (Moti…...
计算机网络两位伟人
克劳德艾尔伍德香农 克劳德艾尔伍德香农(Claude Elwood Shannon)是一位美国数学家、电子工程师和计算机科学家,被誉为“信息论之父”。他于1916年生于密歇根州,于2001年去世。以下是一些关于他的详细介绍: 信息论的奠…...

机器学习 不均衡数据采样方法:imblearn 库的使用
✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (一)
CSI-2 协议详细解析 (一) 1. CSI-2层定义(CSI-2 Layer Definitions) 分层结构 :CSI-2协议分为6层: 物理层(PHY Layer) : 定义电气特性、时钟机制和传输介质(导线&#…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...