当前位置: 首页 > news >正文

正则表达式(Regular Expression,简称 Regex)

一、5w2h(七问法)分析正则表达式

是的,5W2H 完全可以应用于研究 正则表达式(Regular Expressions)。通过回答 5W2H 的七个问题,我们可以全面理解正则表达式的定义、用途、使用方法、适用场景等,帮助我们更好地学习和掌握它。

1. What(什么是正则表达式?)

  • 正则表达式是一种用于描述字符串模式的语法规则。它通过一些特殊的字符和符号来定义匹配文本的模式,广泛应用于文本搜索、替换、验证等操作中。正则表达式能够匹配符合特定规则的字符串。

例如:

  • \d:匹配任何数字字符。
  • ^abc:匹配以"abc"开头的字符串。
  • \w+:匹配一个或多个字母、数字或下划线。

2. Why(为什么要使用正则表达式?)

  • 正则表达式通过其简洁的语法提供了一种强大的工具,可以在文本中进行复杂的模式匹配,减少繁琐的文本处理代码,提升开发效率。
  • 用途
    • 验证输入:比如验证电子邮件地址、电话号码等格式。
    • 查找和替换:在文本中查找符合某个模式的字符串并替换。
    • 文本提取:从文本中提取符合特定模式的信息。

3. When(何时使用正则表达式?)

  • 当你需要处理或验证字符串的格式时,尤其是在文本搜索、数据清洗、日志分析等场景下,正则表达式非常有用。
  • 常见场景
    • 验证用户输入(如邮箱、日期格式等)。
    • 提取特定格式的数据(如从网页抓取邮箱地址、电话号码等)。
    • 文本搜索和替换(如在代码中查找函数定义或在文件中查找特定信息)。

4. Where(在哪里使用正则表达式?)

  • 正则表达式可以在许多编程语言和工具中使用,几乎所有现代编程语言都支持正则表达式(如 Java, Python, JavaScript, C# 等)。
  • 应用场景
    • 编程语言:在 Python 中使用 re 模块,在 JavaScript 中使用 RegExp 对象,在 Java 中使用 Pattern 类等。
    • 文本编辑器:许多文本编辑器(如 VS Code、Sublime Text)支持正则表达式来进行查找和替换。
    • 命令行工具:如 grep, sed, awk 等 Unix 工具支持正则表达式。

5. Who(谁使用正则表达式?)

  • 程序员:正则表达式是开发人员必备的工具,特别是涉及文本处理、数据清理、日志分析等任务时。
  • 测试人员:在自动化测试中,正则表达式可用于验证字符串的格式或从响应中提取信息。
  • 数据分析师:用于清洗和提取结构化或非结构化数据中的有用信息。

6. How(如何使用正则表达式?)

  • 正则表达式的语法通常包括常用的特殊字符和元字符,如:
    • .:匹配任意单个字符。
    • *:匹配前面的字符零次或多次。
    • +:匹配前面的字符一次或多次。
    • []:定义字符集,匹配其中的任意一个字符。
    • |:表示"或"操作,匹配左边或右边的表达式。
    • ():分组,用来定义子表达式或捕获匹配。
  • 使用方法
    • 在编程中,通常使用正则表达式的相关API进行匹配和操作。例如,在 Python 中:
import re
pattern = r'\d+'  # 匹配一个或多个数字
result = re.findall(pattern, 'There are 123 apples and 456 oranges.')
print(result)  # 输出:['123', '456']

7. How much(多少?)

  • 正则表达式本身是一个计算机程序语言的工具,它没有直接的“成本”,但它的复杂度和匹配的文本量可能会影响性能。尤其是在大型文本处理时,正则表达式的效率和匹配速度可能会成为问题。
  • 性能问题
    • 对于非常复杂的正则表达式,或者需要匹配大量文本的操作,可能会导致性能问题。因此在使用正则表达式时,需要谨慎设计,以避免过度复杂的匹配模式和低效的匹配操作。

总结:

通过使用 5W2H 方法来分析 正则表达式,可以帮助我们全面了解它的定义、目的、应用场景以及如何高效地使用它。在实际工作中,正则表达式是一个强大的工具,特别是在需要处理和分析字符串时,通过结构化思维,可以帮助我们更好地理解正则表达式的使用方式和最佳实践。

二、正则表达式-菜鸟教程-整理

非打印字符

非打印字符也可以是正则表达式的组成部分。下表列出了表示非打印字符的转义序列:

字符描述
\cx匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。
\f匹配一个换页符。等价于 \x0c 和 \cL。
\n匹配一个换行符。等价于 \x0a 和 \cJ。
\r匹配一个回车符。等价于 \x0d 和 \cM。
\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。注意 Unicode 正则表达式会匹配全角空格符。
\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t匹配一个制表符。等价于 \x09 和 \cI。
\v

匹配一个垂直制表符。等价于 \x0b 和 \cK。

特殊字符

所谓特殊字符,就是一些有特殊含义的字符,如上面说的 runoo*b 中的 *,简单的说就是表示任何字符串的意思。如果要查找字符串中的 * 符号,则需要对 * 进行转义,即在其前加一个 \,runo\*ob 匹配字符串 runo*ob

许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符\ 放在它们前面。下表列出了正则表达式中的特殊字符:

特别字符描述
$匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。
( )标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
*匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
.匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。
[标记一个中括号表达式的开始。要匹配 [,请使用 \[。
?匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
\将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。
^匹配输入字符串的开始位置,除非在方括号表达式中使用,当该符号在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合。要匹配 ^ 字符本身,请使用 \^。
{标记限定符表达式的开始。要匹配 {,请使用 \{。
|指明两项之间的一个选择。要匹配 |,请使用 \|。

限定符

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共6种。

正则表达式的限定符有:

字符描述实例
*匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于 {0,}。尝试一下 »
+匹配前面的子表达式一次或多次。例如,zo+ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。尝试一下 »
?

匹配前面的子表达式零次或一次。例如,do(es)? 可以匹配 "do" 、 "does"、 "doxy" 中的 "do" 和 "does"。? 等价于 {0,1}。

尝试一下 »
{n}n 是一个非负整数。匹配确定的 n 次。例如,o{2} 不能匹配 "Bob" 中的 o,但是能匹配 "food" 中的两个 o尝试一下 »
{n,}n 是一个非负整数。至少匹配n 次。例如,o{2,} 不能匹配 "Bob" 中的 o,但能匹配 "foooood" 中的所有 o。o{1,} 等价于 o+。o{0,} 则等价于 o*。尝试一下 »
{n,m}m 和 n 均为非负整数,其中 n <= m。最少匹配 n 次且最多匹配 m 次。例如,o{1,3} 将匹配 "fooooood" 中的前三个 o。o{0,1} 等价于 o?。请注意在逗号和两个数之间不能有空格。

* 和 + 限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个 ? 就可以实现非贪婪或最小匹配。

例如,您可能搜索 HTML 文档,以查找在 h1 标签内的内容。HTML 代码如下:

<h1>RUNOOB-菜鸟教程</h1>

贪婪:下面的表达式匹配从开始小于符号 (<) 到关闭 h1 标记的大于符号 (>) 之间的所有内容。

/<.*>/

非贪婪:如果您只需要匹配开始和结束 h1 标签,下面的非贪婪表达式只匹配 <h1>。

/<.*?>/

也可以使用以下正则表达式来匹配 h1 标签,表达式则是:

/<\w+?>/

通过在 *、+ 或 ? 限定符之后放置 ?,该表达式从"贪婪"表达式转换为"非贪婪"表达式或者最小匹配。

以下列出 ?=、?<=、?!、?<! 的使用区别

exp1(?=exp2):查找 exp2 前面的 exp1。

(?<=exp2)exp1:查找 exp2 后面的 exp1。

exp1(?!exp2):查找后面不是 exp2 的 exp1。

(?<!exp2)exp1:查找前面不是 exp2 的 exp1。

三、如何分析正则表达式-案例

你提供的正则表达式 ^[0-9]{1,}\.([^。|\r]*)[。|\r] 用于匹配以数字开头、后跟句点(.),并以句号()或换行符(\r)结尾的字符串。以下是对该正则表达式的详细解析:


1. 正则表达式解析

^[0-9]{1,}\.([^。|\r]*)[。|\r]
各部分含义:
  1. ^: 匹配字符串的开头。
  2. [0-9]{1,}:
    • [0-9]: 匹配任意一个数字(0到9)。
    • {1,}: 表示前面的模式(数字)至少出现1次,可以出现多次。
    • 整体含义:匹配一个或多个数字。
  1. \.: 匹配一个句点(.)。由于句点在正则表达式中有特殊含义(匹配任意字符),因此需要用反斜杠(\)进行转义。
  2. ([^。|\r]*):
    • [^。|\r]: 匹配不是句号()或换行符(\r)的任意字符。
    • *: 表示前面的模式(非句号或换行符)可以出现0次或多次。
    • 整体含义:匹配一段不包含句号或换行符的文本,并将其捕获为一个分组。
  1. [。|\r]: 匹配一个句号()或换行符(\r),表示字符串的结束。

2. 匹配示例

假设有以下文本:

1.这是一个测试。
2.这是另一个测试
3.这是第三个测试。
匹配结果:
  1. 1.这是一个测试。:
    • 匹配内容:1.这是一个测试。
    • 捕获的分组:这是一个测试
  1. 2.这是另一个测试:
    • 匹配内容:2.这是另一个测试
    • 捕获的分组:这是另一个测试
  1. 3.这是第三个测试。:
    • 匹配内容:3.这是第三个测试。
    • 捕获的分组:这是第三个测试

3. 改进建议

你的正则表达式已经可以满足基本需求,但有一些地方可以优化:

  1. 字符集语法:
    • [^。|\r] 中的 | 是多余的,应该直接写成 [^。\r]
    • 修正后:([^。\r]*)
  1. 换行符处理:
    • 如果需要匹配多种换行符(如 \n\r\n),可以将 \r 替换为 \r?\n
    • 修正后:[。\r?\n]
改进后的正则表达式:
^[0-9]{1,}\.([^。\r]*)[。\r?\n]

4. 总结

  • 原始正则表达式: ^[0-9]{1,}\.([^。|\r]*)[。|\r]
  • 功能: 匹配以数字开头、后跟句点,并以句号或换行符结尾的字符串。
  • 优化建议: 修正字符集语法,并考虑多种换行符的情况。

相关文章:

正则表达式(Regular Expression,简称 Regex)

一、5w2h&#xff08;七问法&#xff09;分析正则表达式 是的&#xff0c;5W2H 完全可以应用于研究 正则表达式&#xff08;Regular Expressions&#xff09;。通过回答 5W2H 的七个问题&#xff0c;我们可以全面理解正则表达式的定义、用途、使用方法、适用场景等&#xff0c…...

Windows下在IntelliJ IDEA 使用 Git 拉取、提交脚本出现换行符问题

文章目录 背景问题拉取代码时提交代码时 问题原因解决方案1.全局配置 Git 的换行符处理策略2.在 IntelliJ IDEA 中配置换行符3.使用 .gitattributes 文件 背景 在 Windows 系统下使用 IntelliJ IDEA 进行 Git 操作&#xff08;如拉取和提交脚本&#xff09;时&#xff0c;经常…...

Python 实现的运筹优化系统代码详解(整数规划问题)

一、引言 在数学建模的广袤领域里&#xff0c;整数规划问题占据着极为重要的地位。它广泛应用于工业生产、资源分配、项目管理等诸多实际场景&#xff0c;旨在寻求在一系列约束条件下&#xff0c;使目标函数达到最优&#xff08;最大或最小&#xff09;且决策变量取整数值的解决…...

conda安装python 遇到 pip is configured with locations that require TLS/SSL问题本质解决方案

以前写了一篇文章&#xff0c;不过不是专门为了解决这个问题的&#xff0c;但是不能访问pip install 不能安装来自https 协议的包问题几乎每次都出现&#xff0c;之前解决方案只是治标不治本 https://blog.csdn.net/wangsenling/article/details/130194456​​​​​​​https…...

嘿嘿,好久不见

2025年4月2日&#xff0c;6~22℃&#xff0c;一般 遇见的事&#xff1a;参加了曲靖的事业单位D类考试。 感受到的情绪&#xff1a;考场一半的人都没有到位&#xff0c;这路上你到了可能都会受到眷顾。 反思&#xff1a;这路上很难&#xff0c;总有人会提前放弃&#xff0c;不…...

virsh 的工作原理

virsh是用于管理虚拟化环境中的客户机和Hypervisor的命令行工具。它基于libvirt管理API构建&#xff0c;与virt-manager等工具类似&#xff0c;都是通过调用libvirt API来实现虚拟化的管理。virsh是完全在命令行文本模式下运行的用户态工具&#xff0c;因此它是系统管理员通过脚…...

Qt实现HTTP GET/POST/PUT/DELETE请求

引言 在现代应用程序开发中&#xff0c;HTTP请求是与服务器交互的核心方式。Qt作为跨平台的C框架&#xff0c;提供了强大的网络模块&#xff08;QNetworkAccessManager&#xff09;&#xff0c;支持GET、POST、PUT、DELETE等HTTP方法。本文将手把手教你如何用Qt实现这些请求&a…...

(041)05-01-自考数据结构(20331)树与二叉树大题总结

实际考试中,计算题约占40%,推理题约占30%,算法设计题约占30%。建议重点练习遍历序列相关的递归分治解法, 知识拓扑 知识点介绍 一、计算题类型与解法 1. 结点数量计算 题型示例: 已知一棵完全二叉树的第6层有8个叶子结点,求该二叉树最多有多少个结点? 解法步骤: 完…...

WPS JS宏编程教程(从基础到进阶)-- 第三部分:JS宏编程语言开发基础

第三部分:JS宏编程语言开发基础 @[TOC](第三部分:JS宏编程语言开发基础)**第三部分:JS宏编程语言开发基础**1. 变量与数据类型**变量声明:三种方式****示例代码****数据类型判断****实战:动态处理单元格类型**2. 运算符全解析**算术运算符****易错点:字符串拼接 vs 数值相…...

迈向云原生:理想汽车 OLAP 引擎变革之路

在如今数据驱动的时代&#xff0c;高效的分析引擎对企业至关重要。理想汽车作为智能电动汽车的领军企业&#xff0c;面临着海量数据分析的挑战。本文将展开介绍理想汽车 OLAP 引擎从存算一体向云原生架构演进的变革历程&#xff0c;以及在此过程中面临的挑战&#xff0c;以及是…...

Spark,HDFS客户端操作

hadoop客户端环境准备 找到资料包路径下的Windows依赖文件夹&#xff0c;拷贝hadoop-3.1.0到非中文路径&#xff08;比如d:\hadoop-3.1.0&#xff09; ① 打开环境变量 ② 在下方系统变量中新建HADOOP_HOME环境变量,值就是保存hadoop的目录。 效果如下&#xff1a; ③ 配置Path…...

QuecPython 的 VScode 环境搭建和使用教程

为方便开发者使用 VSCode 开发 QuecPython&#xff0c;QuecPython 团队特推出了名为 QuecPython 的 VSCode 插件。 插件目前支持的功能有&#xff1a; 固件烧录REPL 命令交互代码补全文件传输文件系统目录树运行指定脚本文件 目前支持所有QUecPython系列模组。 插件安装 点…...

Linux Vim 编辑器的使用

Vim 编辑器的使用 一、安装及介绍二、基础操作三、高级功能四、配置与插件 一、安装及介绍 Vim是一款强大且高度可定制的文本编辑器&#xff0c;相当于 Windows 中的记事本。具备命令、插入、底行等多种模式。它可通过简单的键盘命令实现高效的文本编辑、查找替换、分屏操作等…...

Java 基础-28- 多态 — 多态下的类型转换问题

在 Java 中&#xff0c;多态&#xff08;Polymorphism&#xff09;是面向对象编程的核心概念之一。多态允许不同类型的对象通过相同的方法接口进行操作&#xff0c;而实际调用的行为取决于对象的实际类型。虽然多态提供了极大的灵活性&#xff0c;但在多态的使用过程中&#xf…...

机器学习中的自监督学习概述与实现过程

概述 机器学习中有四种主要学习方式&#xff1a; 监督式学习 (Supervised Learning)&#xff1a;这种学习方式通过使用带有标签的数据集进行训练&#xff0c;目的是使机器能够学习到数据之间的关联性&#xff0c;并能够对新的、未见过的数据做出预测或分类。应用领域包括语音识…...

AI Agent开发大全第十四课-零售智能导购智能体的RAG开发理论部分

开篇 经过前面的一些课程,我们手上已经积累了各种LLM的API调用、向量库的建立和使用、embedding算法的意义和基本使用。 这已经为我们具备了开发一个基本的问答类RAG的开发必需要素了。下面我们会来讲一个基本问答类场景的RAG,零售中的“智能导购”场景。 智能导购 大家先…...

Git相关笔记1 - 本地文件上传远程仓库

Git相关笔记 目录 Git相关笔记Git上传相关文件第一步创建一个仓库&#xff1a;第二步本地创建空文件夹&#xff1a;第三步开始在gitbush上传文件&#xff1a;解决外网网络连接的问题&#xff1a;中文文件的编码问题&#xff1a;参考资料 Git上传相关文件 第一步创建一个仓库&a…...

机器学习算法

目录 行向量与列向量 信息论 Logistic回归 支持向量机SVM 核函数&#xff1a; 决策树 Decision Tree CART决策树 ID3 决策树 C4.5 决策树 决策树的过拟合问题 回归树 ***仅做复习需要&#xff0c;若侵权请及时联系我 行向量与列向量 行向量&#xff1a;是一个横…...

学习记录706@微信小程序+springboot项目 真机测试 WebSocket错误: {errMsg: Invalid HTTP status.}连接不上

我微信小程序springboot项目 真机测试 websocket 总是报错 WebSocket错误: {errMsg: Invalid HTTP status.}&#xff0c;总是连接不上&#xff0c;但是开发者工具测试就没有问题。 最后解决方案是编码token&#xff0c;之前是没有编码直接拼接的&#xff0c;原因不详。 consol…...

SSH服务

一、准备 #请说明以下服务对应的端口号或者端口对应的服务 ssh 22 telnet 23 http 80 https 443 ftp 20 21 RDP 3389 mysql 3306 redis 6379 zabbix 10050 10051 elasticsear…...

GitHub上免费学习工具的精选汇总

以下是GitHub上免费学习工具的精选汇总&#xff0c;涵盖编程语言、开发框架、数据科学、面试准备等多个方向&#xff0c;结合工具的功能特点、社区活跃度及适用场景进行分类推荐&#xff1a; 一、编程语言与开发框架 Web Developer Roadmap 简介&#xff1a;为开发者提供全栈学…...

2025.4.1总结

今天看了一部网上很火的记录片《God&#xff0c;my brother》&#xff0c;中文名为《上帝不如我兄弟》&#xff0c;简述的是一个自媒体博主杜克遇到孟加拉一哥(车夫&#xff09;&#xff0c;最终一哥在杜克的帮助下&#xff0c;成功实现阶级跨越&#xff0c;而杜克也因此成为百…...

MySQL日志管理

目录 查询日志 慢查询日志 错误日志 二进制日志 其他功能 查询日志 查询日志用来记录所有查询语句的信息&#xff0c;由于开启此日志会占用大量内存&#xff0c;所以一般不会开启 查看查询日志是否开启 开启查询日志 慢查询日志 用于性能的调优&#xff0c;查看执行速度超…...

vscode中的【粘滞滚动】的基本概念和作用,关闭了以后如何开启

1、粘滞滚动的基本概念和作用 ‌VSCode中的“粘滞”功能主要是指编辑器在滚动时的一种特殊效果&#xff0c;使得编辑器在滚动到某个位置时会“粘”在那里&#xff0c;而不是平滑滚动到底部或顶部。‌ 粘滞滚动的基本概念和作用 粘滞滚动功能可以让用户在滚动时更直观地看到当前…...

我用Axure画了一个富文本编辑器,还带交互

最近尝试用Axure RP复刻了一个富文本编辑器&#xff0c;不仅完整还原了工具栏的各类功能&#xff0c;还通过交互设计实现了接近真实编辑器操作体验。整个设计过程聚焦功能还原与交互流畅性&#xff0c;最终成果令人惊喜。 编辑器采用经典的三区布局&#xff1a;顶部工具栏集成了…...

Mysql之Redo log(Red log of MySQL)

Mysql之Redo log 数据库事务的4个特性之一的持久性是数据库保证数据一致性的关键&#xff0c;mysql为了确保事务在系统崩溃后也能恢复&#xff0c;引入了redo log 重做日志这一机制。 什么是redo log 持久性指的是一旦事务提交数据就要永久的保存到数据库中&#xff0c;不能…...

Spring Cloud ReactorServiceInstanceLoadBalancer 自定义负载均衡

自定义负载均衡类 import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.client…...

汽车诊断开发入门以及OBD检测

一、OBD 概述 定义&#xff1a;OBD 即 On - Board Diagnostics&#xff0c;车载自动诊断系统。它能实时监测车辆各项系统和部件状态&#xff0c;以此帮助诊断故障并预警。设计初衷与发展&#xff1a;最初设计目的是控制汽车尾气排放&#xff0c;确保符合环境标准。随着技术进步…...

高速PCB设计过孔不添乱,乐趣少一半

高速先生成员--姜杰 高速先生最近写了不少介绍高速信号仿真的文章&#xff08;文章链接汇总&#xff0c;看这篇就够了《聊聊100G信号的仿真》&#xff09;。雷豹逐一研读后感觉获益匪浅&#xff0c;甚至一度觉得自己强的可怕&#xff0c;不过&#xff0c;在得知即将负责一个11…...

人工智能在医疗领域的前沿应用与挑战

在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度改变着我们的生活&#xff0c;其中医疗领域无疑是受益最为显著的行业之一。从疾病诊断、治疗方案制定到患者护理&#xff0c;AI的应用不仅提高了医疗服务的效率和质量&#xff0c;还为医…...

怎么实现实时无延迟的体育电竞动画直播

要实现真正的实时无延迟动画直播&#xff0c;需要考虑以下几个关键方面&#xff1a; 一、技术方案选择 1.WebRTC技术 点对点(P2P)传输协议&#xff0c;延迟可低至100-500ms 适用于互动性强的应用场景 开源且被主流浏览器支持 2.低延迟HLS/CMAF 可将延迟控制在1-3秒 兼容…...

VLAN、QinQ、VXLAN的区别

1、技术本质与封装方式 技术OSI层级封装原理标识位长度拓展性VLAN数据链路层L2在以太网帧头插入802.1Q Tag&#xff08;单层VLAN标签&#xff09;12位&#xff08;4094个&#xff09;有限&#xff0c;仅支持单一网络域内隔离QinQ数据链路层L2在原始VLAN标签外再封装一层802.1Q…...

使用大语言模型进行Python图表可视化

Python使用matplotlib进行可视化一直有2个问题&#xff0c;一是代码繁琐&#xff0c;二是默认模板比较丑。因此发展出seaborn等在matplotlib上二次开发&#xff0c;以更少的代码进行画图的和美化的库&#xff0c;但是这也带来了定制化不足的问题。在大模型时代&#xff0c;这个…...

Mac电脑(M芯片)安装ubuntu22.04

一、下载VMware虚拟机 VMware官网下载VMware Fusion 二、下载ubuntu镜像 M系列的Mac电脑要下载arm架构的镜像 方法一&#xff1a;官网下载 方法二&#xff1a;清华源下载 清华源镜像 点击获取下载链接 选择Ubuntu&#xff0c;下载22.04.5(arm64,Server) 三、创建虚拟机 …...

【linux】管理磁盘——RAID10(含备份)与逻辑卷管理

RAID概念 当今CPU性能每年可提升30%-50%但硬盘仅提升7%硬盘在服务器中需要持续、频繁、大量的I/O操作&#xff0c;故障机率较大&#xff0c;则需要对硬盘进行技术改造&#xff0c;提 升读写性能、可靠性1988年&#xff0c;加利福尼亚大学伯克利分校首次提出并定义了RAID技术概…...

Day3 蓝桥杯省赛冲刺精炼刷题 —— 排序算法与贪心思维

一、0实现插入排序 - 蓝桥云课 算法代码&#xff1a; #include <stdio.h>const int N 10000; // 定义数组的最大大小int arr[N 10], temp[N 10]; // arr为待排序的数组&#xff0c;temp为辅助数组// 合并操作&#xff1a;将两个已经排好序的子数组合并为一个有序数…...

查看iphone手机的使用记录-克魔实战

如何查看 iOS 设备近期的详细使用数据 在日常使用手机时&#xff0c;了解设备的运行状态和各项硬件的使用情况可以帮助分析耗电情况、优化应用使用方式。iOS 设备提供了一些数据记录&#xff0c;能够显示应用的启动和关闭时间、后台运行情况&#xff0c;以及应用在使用过程中调…...

Tcp——客户端服务器

Tcp——客户端服务器 目录 一、基本概念 二、代码 2.1 ser服务器 2.2 cil客户端 一、基本概念 TCP&#xff08;传输控制协议&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议。在TCP/IP模型中&#xff0c;TCP位于IP层之上&#xff0c;应用层之下&#x…...

《HarmonyOS Next开发进阶:打造功能完备的Todo应用华章》

章节 6&#xff1a;日期选择器与日期处理 目标 学习如何使用DatePicker组件。理解日期格式化和日期计算。 内容 日期选择器基础 使用DatePicker组件。处理日期选择事件。 日期格式化 格式化日期为友好的文本。 日期计算 判断日期是否过期或即将到期。 代码示例 Entry Com…...

化学方程式配平 第33次CCF-CSP计算机软件能力认证

很经典的大模拟题目 但是还不算难 大模拟题最需要注意的就是细节 写代码一定要考虑全面 并且要细心多debug 多打断点STL库的熟练使用 istringstream真的处理字符串非常好用 注意解耦合思想 这样改代码debug更加清晰 https://www.acwing.com/problem/content/5724/ #includ…...

数据结构【链表】

链表 1.单链表1.1概念与结构1.1.1结点1.1.2链表的性质1.1.3链表的打印 1.2实现单链表1.3链表的分类 2.双向链表2.1概念与结构2.2实现双链表 3.顺序表与链表的分析 1.单链表 1.1概念与结构 概念&#xff1a;链表是⼀种物理存储结构上非连续、非顺序的存储结构&#xff0c;数据…...

AIP-210 Unicode

编号210原文链接AIP-210: Unicode状态批准创建日期2018-06-28更新日期2018-06-28 API在处理&#xff08;解释、限制长度、计费&#xff09;字符串值和字符串编码时&#xff0c;应当保持一致&#xff0c;范围从理解上的歧义&#xff08;如域“限制为1024个字符”&#xff09;到…...

WiFi(无线局域网)技术的多种工作模式

WiFi&#xff08;无线局域网&#xff09;技术支持多种工作模式&#xff0c;以满足不同的网络需求和应用场景。以下是主要的WiFi工作模式及其详细说明&#xff1a; 1. 基础设施模式&#xff08;Infrastructure Mode&#xff09; [无线接入点 (AP)]/ | \ [客户端…...

游戏引擎学习第198天

回顾并为今天的内容设定 今天我们有一些代码需要处理。昨天我们进行了一些调试界面的整合工作&#xff0c;之前我们做了一些临时的、粗糙的操作&#xff0c;将一些东西读进来并放到调试界面中。今天&#xff0c;我们并不打算进行大规模的工作&#xff0c;更多的是对之前的代码…...

git命令简陋版本

git push git pull 临时仓库暂存区 ##############创建提交################ git init #创建git地址 git config --global user.name "***YQ1007" git config --global user.email "***gmail.com" git remote…...

MySQL 进阶 面经级

会用数据库&#xff0c;找大厂工作是远远不够的。 本人2025美团暑期AI面试好几个MySQL场景问题不会答&#xff0c;已脏面评。遂在此整理学习&#xff01; 文章目录 美团AI面1.数据库分片sharding的概念&#xff0c;它有什么优势和挑战?优势Sharding 挑战 2. 分库分表的常见策…...

JavaScript数组Array的使用:添加、删除、排序、遍历、互转

1、数组的概述 数组是存储于一个连续空间且具有相同数据类型的元素集合。可以把数组看作一张单行表格,该表格的每一个单元格都可以存储一个数据,而且各单元格中存储的数据类型可以不同。这些单元格被称为数组元素,每个数组元素都有一个索引号,通过索引号可以方便地引用数组…...

Vue Transition组件类名+TailwindCSS

#本文教学结合TailwindCSS实现一个Transition动画的例子# 举例代码&#xff1a; <transition enter-active-class"transition-all duration-300 ease-out"enter-from-class"opacity-0 translate-y-[-10px]"enter-to-class"opacity-100 translate-…...

蓝桥杯备赛:动态规划入门

写题的时候我发现&#xff1a;除了输入输出、循环、条件等基本语句一类的题目之外&#xff0c;我就什么都不会了&#xff0c;题目根本写不下去。 需要学&#xff1a;动态规划、哈希表、二分法、贪心算法等基本算法 现在什么都不会&#xff0c;对这些东西也是一点都不会懂&…...

【VSCode SSH 连接远程服务器】:身份验证时,出现 key: invalid format 的问题

从其它电脑上把私钥文件复制后&#xff0c;出现格式错误 很有可能是复制的时候引入了乱码 很有可能是复制的时候引入了乱码 因此直接从其它电脑上把私钥文件复制到新设备上即可&#xff01;&#xff08;不直接复制私钥的内容&#xff09; 亲测有效。...