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

正则表达式——参考视频B站《奇乐编程学院》

智能指针

  • 一、背景
    • 🎈1.1. 模式匹配
    • 🎈1.2. 文本替换
    • 🎈1.3. 数据验证
    • 🎈1.4. 信息提取
    • 🎈1.5. 拆分字符串
    • 🎈1.6. 高级搜索功能
  • 二、原料
    • 2.1 参考视频
    • 2.2 验证网址
  • 三、用法
    • 3.1 限定符
      • 3.1.1 ?
      • 3.1.2 *
      • 3.1.3 +
      • 3.1.4 {}
      • 3.1.4 ()
    • 3.2 "或"运算符
    • 3.3 字符类
      • 3.3.1 []
      • 3.3.2 ^
    • 3.3 特殊字符
      • 3.3.1 一般特殊
      • 3.3.2 二般特殊
  • 四、高级用法
    • 4.1 贪婪与懒惰匹配
  • 五、实例
    • 5.1 匹配rgb颜色
    • 5.2 匹配IPV4
  • 六、总结
    • 6.1 评论区总结
    • 6.2 视频总结

一、背景

正则表达式是一个非常灵活且功能强大的工具,可用于各种文本处理和数据操作任务。无论是在编程中还是在日常文本编辑中,掌握正则表达式都能显著提高效率和准确性。正则表达式(Regular Expression,简称 regex or regexp) 是一种用于匹配和操作字符串的强大工具。它可以用于多种编程语言和工具中,广泛应用于文本处理、数据验证、信息提取等任务。以下是正则表达式的一些主要作用:

🎈1.1. 模式匹配

正则表达式可以帮助你查找特定模式的文本。例如,你可以找到所有以 “abc” 开头的字符串,或是匹配任何包含数字的字符串。

🎈1.2. 文本替换

你可以使用正则表达式在文本中进行替换操作。例如,可以将所有的邮箱地址替换为一个统一格式,或者移除特定模式的字符串。

🎈1.3. 数据验证

正则表达式常用于验证输入数据的格式,例如验证电子邮件地址、电话号码、日期格式等。这可以确保用户输入的内容符合预期格式。

🎈1.4. 信息提取

利用正则表达式可以从文本中提取特定的信息。例如,从日志文件中提取日期、事件代码或任何特定模式的信息。

🎈1.5. 拆分字符串

使用正则表达式可以根据特定模式拆分字符串,例如,将一段文本按空格、标点符号等分割开来。

🎈1.6. 高级搜索功能

在一些文本编辑器或 IDE 中,正则表达式提供了强大的搜索功能,允许用户使用复杂的模式来查找文本。

二、原料

2.1 参考视频

【10分钟快速掌握正则表达式】 https://www.bilibili.com/video/BV1da4y1p7iZ/?share_source=copy_web&vd_source=e52fceea42b773b494141fae690ef6c5

2.2 验证网址

https://regex101.com/

三、用法

万事俱备,我们直接切入正题

3.1 限定符

3.1.1 ?

测试实例:use a used variable name is illegal.
表达式: used?
意义表示: 字符d这个词出现0次或1次

在这里插入图片描述

3.1.2 *

测试实例:

ac
abc
abbbbbbc
adc
addddddc

表达式: ab*c
意义表示: 代表b可以没有也可以出现多次
在这里插入图片描述

3.1.3 +

测试实例:

ac
abc
abbbbbbc
adc
addddddc

表达式: ab+c
意义表示: 代表b可出现一次以上字符
在这里插入图片描述

3.1.4 {}

测试实例:

abc
abbc
abbbbbbbbbc
abbbbbbc
ac
adc
addddddc

表达式: ab{2}c
意义表示: 代表b可出现2次
在这里插入图片描述

表达式:

 ab{2,6}c

意义表示: 代表b可出现2次到6次字符
在这里插入图片描述
表达式:

ab{2,}c

意义表示: 代表b可出现2次以上
在这里插入图片描述

3.1.4 ()

前面我们涉及的都是一个字符,如果我们需要匹配两个字符,可以通过()括起来
表达式:

a(bb){1,3}c

意义表示: 代表bb可出现1次到3次字符
在这里插入图片描述

3.2 "或"运算符

测试实例:

a cat
a dog
a bird

表达式: a (cat|dog)
意义表示: 先匹配a (空格)然后后面要么是dog要么是cat
在这里插入图片描述

3.3 字符类

3.3.1 []

测试实例:`

abc
tiger
aabbcc
dog

表达式: [abc]+
意义表示: 匹配由字母abc构成的字母的单词,方括号里的内容代表要求匹配的字符只能取自于它们
在这里插入图片描述

3.3.2 ^

测试实例:

abc
tiger
aabbcc
dog
1234678
abc123456
ABCDEFG

表达式: [^1-9]+
意义表示: 匹配数字字符,匹配除了^号后面的字符的字符
在这里插入图片描述

3.3 特殊字符

3.3.1 一般特殊

\d :匹配任何数字,相当于 [0-9]\D :匹配任何非数字字符,相当于 [^0-9]\w :匹配任何单词字符(字母、数字或下划线),相当于 [a-zA-Z0-9_]\W :匹配任何非单词字符,相当于 [^a-zA-Z0-9_]\s :匹配任何空白字符(空格、制表符、换行符等)。
\S :匹配任何非空白字符。
.:表示任意字符,但是不包括换行符

3.3.2 二般特殊

^ :匹配输入字符串的开始位置。
例子:^abc 仅匹配以 abc 开头的字符串。$ :匹配输入字符串的结束位置。
例子:abc$ 仅匹配以 abc 结尾的字符串

四、高级用法

4.1 贪婪与懒惰匹配

<span><b>This is a sample text</b></span>

表达式:<.+?>
意义: 它会将正则表达式中的默认的贪婪匹配切换为懒惰匹配
解析:

 <.+?>
<:匹配字符 <,表示开始一个标签。
.:匹配任意单个字符(除了换行符)。这意味着这个正则表达式会匹配标签内的任意字符。
+:表示前面的字符(在本例中是 .)出现一次或多次。因此,.+ 会匹配一个或多个任意字符。
?:在这里是一个惰性量词(lazy quantifier)。将 ? 放在 + 后面,使得正则表达式匹配尽可能少的字符即可(即最小匹配)。因此,.+? 会匹配至少一个字符,但会尽可能少地匹配,以便找到整个模式的结束部分。
>:匹配字符 >,表示结束一个标签。

五、实例

5.1 匹配rgb颜色

#00
#ffffff
#ffaaff
#00hh80
#aabbcc
#000000
#ffffffff

匹配字符串:

#[a-fA-F0-9]{6}\b

其中\b是单词字符的边界,用来去掉最后一个#ffffffff

5.2 匹配IPV4

123
255.255.255.0
192.168.0.1
0.0.0.0
256.1.1.1
This is a string.
123.123.0

匹配字符串:

复杂还没搞懂

六、总结

6.1 评论区总结

来自评论区《喝酸奶的一颗竹子》

匹配符:
d? d出现0/1次
a* a可以出现0/多次
a+ a出现一次以上
a{6} a出现6次
a{2,} a出现2次以上
a{2,6} a出现2-6次
匹配多个字符:
(ab)+ ab出现一次以上
或运算:
a (cat|dog) 匹配 a cat or a dog
a cat|dog 匹配 a cat or dog
字符类:
匹配由abc构成的数据【abc】+ abc出现一次以上 abc aabbcc
【a-zA-Z0-9】 ABCabc123
^ 排除 【^0-9】 匹配0-9之外的数据(包括换行符)
元字符
\d 数字字符 \d+ 匹配一个以上的数字
\D 非数字字符
\w 单词字符 单词 数字 下划线即英文字符
\W 非单词字符
\s 空白符 包含空格和换行符
\S 非空白字符
\b 单词的边界 单词的开头或结尾 单词与符号之前的边界
\B 非单词的边界 符号与符号 单词与单词的边界
. 任意字符不包含换行符
\. 表示. 通过\进行了转意
^ 匹配行首 $ 匹配行尾
*+{}贪婪匹配
<strong><b>https://www.wondershare. com</strong></b>
<.+> 会匹配整串 因为是贪婪匹配
<.+?> 只匹配两个标签代码,+? 设置为懒惰匹配

6.2 视频总结

在这里插入图片描述

相关文章:

正则表达式——参考视频B站《奇乐编程学院》

智能指针 一、背景&#x1f388;1.1. 模式匹配&#x1f388;1.2. 文本替换&#x1f388;1.3. 数据验证&#x1f388;1.4. 信息提取&#x1f388;1.5. 拆分字符串&#x1f388;1.6. 高级搜索功能 二、原料2.1 参考视频2.2 验证网址 三、用法3.1 限定符3.1.1 ?3.1.2 *3.1.3 3.1.…...

【Vue + Print.js】前端打印, 自定义字体大小, 自定义样式, 封装共享样式

在前端开发中&#xff0c;打印功能是一个常见的需求&#xff0c;尤其是在生成报表、打印用户资料或者导出文档时&#xff0c;通常需要通过前端代码进行打印。Print.js 是一个非常流行的 JavaScript 库&#xff0c;它提供了简单而强大的打印功能&#xff0c;允许你灵活控制打印内…...

python模拟练习第一期

问题一 如果一个数 p 是个质数&#xff0c;同时又是整数 a的约数&#xff0c;则 p 称为 a的一个质因数。 请问 2024 有多少个质因数&#xff1f; 步骤 1: 分解 2024 首先&#xff0c;2024 是偶数&#xff0c;说明可以被 2 整除。我们从 2 开始进行除法分解&#xff1a; 202…...

Java-25 深入浅出 Spring - 实现简易Ioc-01 Servlet介绍 基本代码编写

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 大数据篇正在更新&#xff01;https://blog.csdn.net/w776341482/category_12713819.html 目前已经更新到了&#xff1a; MyBatis&#xff…...

华硕奥创软件在线安装和离线安装方法

华硕奥创软件在线安装和离线安装方法 1. 华硕奥创软件介绍2. 华硕奥创软件在线安装2.1 第一种2.2 第二种 3. 华硕奥创软件离线安装3.1 概述3.2 华硕奥创软件离线包下载方式 4. 卸载华硕奥创软件4.1 概述4.2 华硕奥创卸载软件下载与使用方式 结束语 1. 华硕奥创软件介绍 华硕奥…...

AI监控赋能健身馆与游泳馆全方位守护,提升安全效率

一、AI视频监控技术的崛起 随着人工智能技术的不断发展&#xff0c;AI视频监控正成为各行业保障安全、提升效率的关键工具。相比传统监控系统&#xff0c;AI技术赋予监控系统实时分析、智能识别和精准预警的能力&#xff0c;让“被动监视”转变为“主动防控”。 二、AI监控应用…...

SQL Server数据库还原差异备份

适用范围&#xff1a;SQL Server 本主题介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中还原差异数据库备份。 限制和局限 不允许在显式或隐式事务中使用 RESTORE。 无法在早期版本的 SQL Server 中还原较新版本的 SQL Server创建的备份。 在…...

Python 给 Excel 写入数据的四种方法

Python 在数据处理领域应用广泛&#xff0c;其中与 Excel 文件的交互是常见需求之一。 本文将介绍四种使用 Python 给 Excel 文件写入数据的方法&#xff0c;并结合生活中的例子进行解释&#xff0c;帮助新手小白快速上手。 1. 使用 openpyxl 库 openpyxl 是一个用于读写 Exc…...

实验14 RNN的记忆能力和梯度爆炸实验

一 循环神经网络的记忆能力 1.数据集构建 创建了一个DigitSumDataset 类&#xff0c;包括初始化函数init、数据生成函数 generate_data、数据加载函数 load_data、__len__ 方法、__getitem__ 方法。 init函数&#xff1a;接受的参数是data_path&#xff08; 存放数据集的目录…...

【电子通识】电流倒灌为什么需要注意?

电流倒灌是一个很常见的问题,以“IO电流倒灌”为关键词在百度上进行搜索,可以找到很多相关案例。 电流倒灌问题在5V电平的单片机时代几乎不会发生,主要是因为5V单片的IO耐压值高,单片机内部结构对IO保护设计很好。 到了3.3V单片机时代,这类问题有一定的偶发性,但…...

Elasticsearch 集群部署

Elasticsearch 是一个分布式的搜索和分析引擎&#xff0c;广泛应用于日志分析、全文搜索、实时数据分析等场景。它以其高性能、高可用性和易用性而著称。本文档将引导您完成一个基本的 Elasticsearch 集群配置&#xff0c;包括节点间的通信、客户端访问、安全设置等关键步骤。我…...

Windows系统VSCode 搭建ESP-IDF环境

VS Code&#xff0c;安装ESP-IDF插件 快捷键CTRLSHIFTP&#xff0c;弹出显示所有命令的窗口&#xff0c;选择ESP-IDF的欢迎 使用第一个选项&#xff0c;要选择一个ESP-IDF版本&#xff0c;选最新的就行 点击Install,等待下载 提示安装成功&#xff0c;如果过程中出现python已存…...

在centos 7.9上面安装mingw交叉编译工具

1.说明 为了在centos上面编译windows的程序&#xff0c;需要安装mingw工具&#xff0c;mingw工具是可以编译windows程序的一些工具链&#xff0c;使用方式和linux一致 2.下载脚本 使用脚本方式编译&#xff0c;github的脚本位置&#xff1a;https://github.com/Zeranoe/ming…...

【Java笔记】LinkedList 底层结构

一、LinkedList 的全面说明 LinkedList底层实现了双向链表和双端队列特点可以添加任意元素(元素可以重复)&#xff0c;包括null线程不安全&#xff0c;没有实现同步 二、LinkedList 的底层操作机制 三、LinkedList的增删改查案例 public class LinkedListCRUD { public stati…...

【深入理解java中的设计模式】

深入理解java中的设计模式 设计模式是软件工程中的最佳实践&#xff0c;它们提供了解决特定问题的模板或蓝图。在Java中&#xff0c;设计模式通常被分为三大类&#xff1a;创建型模式、结构型模式和行为型模式。 创建型模式 单例模式 (Singleton Pattern) 描述: 保证一个类…...

详解下c语言下的多维数组和指针数组

在实际c语言编程中&#xff0c;三维及以上数组我们使用的很少&#xff0c;二维数组我们使用得较多。说到数组&#xff0c;又不得关联到指针&#xff0c;因为他们两者的联系太紧密了。今天我们就详细介绍下c语言下的多维数组(主要是介绍二维数组)和指针。 一、二维数组 1.1&am…...

如何使用 Python 发送 HTTP 请求?

在Python中发送HTTP请求最常用的库是requests&#xff0c;它提供了简单易用的API来发送各种类型的HTTP请求。 除此之外&#xff0c;还有标准库中的http.client&#xff08;以前叫做httplib&#xff09;和urllib&#xff0c;但它们相对更底层&#xff0c;代码量较大&#xff0c…...

活动预告 |【Part2】Microsoft Azure 在线技术公开课:基础知识

课程介绍 参加“Azure 在线技术公开课&#xff1a;基础知识”活动&#xff0c;培养有助于创造新的技术可能性的技能并探索基础云概念。参加我们举办的本次免费培训活动&#xff0c;扩充自身的云模型和云服务类型知识。你还可以查看以计算、网络和存储为核心的 Azure 服务。 课…...

神经网络基础-激活函数

文章目录 1. 什么是激活函数2. sigmoid 激活函数3. tanh 激活函数4. ReLU 激活函数5. SoftMax 激活函数6. 其他常见的激活函数7. 激活函数的选择方法 1. 什么是激活函数 激活函数用于对每层的输出数据进行变换, 进而为整个网络注入了非线性因素。此时, 神经网络就可以拟合各种…...

Debedium如何忽略Oracle的purge命令

报错 截至目前3.0版本&#xff0c;Debezium的Oracle Connector并不支持purge table这个指令。 所以&#xff0c;在使用Debezium解析Oracle变更的时候&#xff0c;如果在源端执行了类似 purge table "$BIN… 的语句&#xff0c;就会导致Debezium罢工&#xff0c;日志里显…...

基于 webRTC Vue 的局域网 文件传输工具

文件传输工具&#xff0c;匿名加密&#xff0c;只需访问网页&#xff0c;即可连接到其他设备&#xff0c;基于 webRTC 和 Vue.js coturn TURN 服务器 docker pull coturn/coturn docker run -d --networkhost \-v $(pwd)/my.conf:/etc/coturn/turnserver.conf \coturn/coturn…...

opencv Canny边缘检测

canny阈值越高,检测到的边缘数量越少 # 导入OpenCV库&#xff0c;用于图像处理 import cv2 import numpy as np # 从matplotlib库中导入pyplot模块&#xff0c;用于绘制图像 from matplotlib import pyplot as plt # 创建一个名为window的窗口&#xff0c;窗口大小自…...

数仓高频面试 | 数仓为什么要分层

大家好&#xff0c;我是大D呀。 关于数仓分层&#xff0c;在面试过程中几乎是必问的。不过&#xff0c;面试官一般也不会直接考你数仓为什么要分层&#xff0c;而是在你介绍项目时&#xff0c;可能会换一种形式来穿插着问&#xff0c;比如数据链路为什么要这样设计&#xff0c…...

Coconut:探索大语言模型的连续思维链推理能力

目录 简介&#xff1a; 什么是Coconut&#xff1f; 为什么我们需要Coconut&#xff1f; Coconut如何工作&#xff1f; 实验结果怎么样&#xff1f; Coconut的优势&#xff1a; 结论&#xff1a; 简介&#xff1a; 你有没有想过&#xff0c;计算机是如何像人类一样思考问…...

2024年安徽省职业院校技能大赛水利工程BIM建模与应用

2024年安徽省职业院校技能大赛 赛 项 规 程 赛项名称&#xff1a; 水利工程BIM建模与应用 赛项组别&#xff1a; 高职组 承办单位&#xff1a; 安徽水利水电职业技术学院 目录 一、赛项名称… 1 二、竞赛目标… 1 三、竞赛内容… 2 四、竞赛方式… 3 五、竞赛流程… 4 七、技术…...

vue常用命令汇总

nvm 一个nodejs版本管理工具&#xff0c;解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。 npm 可以管理 nodejs 的第三方插件。 vue-cli 是Vue提供的一个官方cli,专门为单页面应用快速搭建繁杂的脚手架。 nginx 是一个高性能的HTTP和反向代理we…...

ios上架构建版本没苹果电脑怎么上传

在app store上架的时候&#xff0c;遇到下图的问题&#xff1a; 点击蓝色加号的时候&#xff0c;并没有构建版本可以选择 从图中可以看出&#xff0c;它给我们推荐了很多上传工具&#xff0c;比如xcode、transporter或命令行工具之类的&#xff0c;但是这些工具都是只能在苹果…...

某名校考研自命题C++程序设计——近10年真题汇总(上)

本帖更新一些某校的编程真题&#xff0c;总体来说不难&#xff0c;考察的都是基本功&#xff0c;92高校大一期末的难度&#xff0c;不过有些细节颇为繁琐&#xff0c;各位还是需要一定程度上注意的~ 目录 一.分数求和 二.大小写字母转换 三.判断当年天序 四.交替合并字符串…...

【ChatGPT】解锁AI思维链:如何让机器像人类一样思考?

在人工智能领域&#xff0c;我们一直在追求让机器像人类一样思考。然而&#xff0c;即使是最先进的AI&#xff0c;也常常被诟病缺乏“常识”&#xff0c;难以理解复杂问题&#xff0c;更不用说像人类一样进行逻辑推理和解决问题了。最经常的表现就是遇到不会的地方&#xff0c;…...

️️️ 避坑指南:如何修复国密gmssl 库填充问题并提炼优秀加密实践20241212

&#x1f6e1;️ 避坑指南&#xff1a;如何修复国密gmssl 库填充问题并提炼优秀加密实践 ✨ 引言 在当下的数据安全环境中&#xff0c;SM4作为中国国家密码算法的代表性选择&#xff0c;被广泛应用于金融、通信和政府领域。然而&#xff0c;在实际开发中&#xff0c;即便是开…...

鸿蒙ArkTS如何实现数据可视化:饼状图/柱状图/折线图

鸿蒙数据可视化系列 在我们鸿蒙APP开发中&#xff0c;经常需要使用到一些图表的开发&#xff0c;本文主要介绍使用 McCharts 框架绘制柱状图的方法 配套指导视频地址&#xff1a;鸿蒙数据可视化系列-McCharts使用介绍_哔哩哔哩_bilibili 1. 第三方库介绍 1.1. McCharts Mc…...

Win10环境vscode+latex+中文快速配置

安装vscodelatex workshop 配置&#xff1a; {"liveServer.settings.donotVerifyTags": true,"liveServer.settings.donotShowInfoMsg": true,"explorer.confirmDelete": false,"files.autoSave": "afterDelay","exp…...

Android14 AOSP支持短按关机

修改frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java diff --git a/base/services/core/java/com/android/server/policy/PhoneWindowManager.java b/base/services/core/java/com/android/server/policy/PhoneWindowManager.java in…...

康耐视智能相机(Insight)通过ModbusTCP发送字符串到倍福(BECKHOFF)PLC中

文章目录 1.背景2.分析3.实现3.1.PLC的ModbusTCP_Server3.1.1.安装TF6250-Modbus-TCP3.1.2.PLC设置 3.2.智能相机的ModbusTCP_Client3.2.1.了解ModbusTCP的协议3.2.2.根据协议写代码3.2.2.1.纯函数代码3.2.2.2.脚本代码 3.2.3.非脚本处理时的代码逻辑图3.2.4.关于代码的问题及解…...

OpenCV 图像变换与处理实战

OpenCV快速通关 第一章&#xff1a;OpenCV 简介与环境搭建 第二章&#xff1a;OpenCV 图像基本操作 第三章&#xff1a;OpenCV 图像变换与处理实战 OpenCV 图像变换与处理实战 OpenCV快速通关OpenCV 图像变换与处理实战一、OpenCV 基础与图像处理概览二、图像变换理论精析三、…...

meta llama 大模型一个基础语言模型的集合

LLaMA 是一个基础语言模型的集合&#xff0c;参数范围从 7B 到 65B。我们在数万亿个 Token 上训练我们的模型&#xff0c;并表明可以专门使用公开可用的数据集来训练最先进的模型&#xff0c;而无需诉诸专有的和无法访问的数据集。特别是&#xff0c;LLaMA-13B 在大多数基准测试…...

【MySQL — 数据库基础】深入理解数据库服务与数据库关系、MySQL连接创建、客户端工具及架构解析

目录 1. 数据库服务&#xff06;数据库&#xff06;表之间的关系 1.1 复习 my.ini 1.2 MYSQL服务基于mysqld启动而启动 1.3 数据库服务的具体含义 1.4 数据库服务&数据库&表之间的关系 2. 客户端工具 2.1 客户端连接MySQL服务器 2.2 客…...

详解多租户架构下的资源隔离模式

文章目录 0.简介1.多租户概念1.1 基本概念1.2 单租户 vs 多租户 2.实现方案2.1 独立数据库方案2.1.1 优点2.1.2 缺点2.1.3 应用场景 2.2 共享数据库&#xff0c;独立 Schema2.2.1 优点2.2.2 缺点2.2.3 应用场景 2.3 共享数据库、共享Schema、共享表2.3.1 优点2.3.2 缺点2.3.3 应…...

Bananna Pi开源社区联合矽昌通信打造开源的低成本Wifi5路由器

香蕉派 BPI-Wifi5 路由器采用矽昌SF19A2890S2芯片方案设计。它是一款高性能无线路由器&#xff0c;适用于小微企业、家庭和其他网络环境。Banana Pi开源社区提供整体解决方案。所有代码开源&#xff0c;用户可以在上面自由开发自己的应用。 Banana Pi wifi5 路由器github代码: …...

根据契约进行分析--录像店案例研究01

Richard Mitchell 著&#xff0c;zhen_lei 译 本文包括录像店案例研究的一些片段&#xff0c;用来说明根据契约进行分析的原理。本文假定读者已经从其它渠道学习了一些关于根据契约进行分析的方法。 完整的一套模型可以写成一本书。这些选择的片段用来说明开发的某些方面&…...

Linux系统操作03|chmod、vim

上文&#xff1a; Linux系统操作02|基本命令-CSDN博客 目录 六、chmod&#xff1a;给文件设置权限 1、字母法 2、数字法&#xff08;用的最多&#xff09; 七、vim&#xff1a;代码编写和文本编辑 1、启动和退出 1️⃣启动 2️⃣退出 2、vim基本操作 六、chmod&#x…...

MyBatis 核心知识与实践

一、MyBatis 概述 1. 框架简介 MyBatis 是一款支持自定义 SQL、存储过程以及高级映射的持久层框架。它避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的操作&#xff0c;使开发人员能够更专注于 SQL 语句的编写和业务逻辑的处理。 2. 核心组件 SqlSessionFactoryB…...

负载均衡oj项目:介绍

目录 项目介绍 项目演示 项目介绍 负载均衡oj是一个基于bs模式的项目。 用户使用浏览器向oj模块提交代码&#xff0c;oj模块会在所有在线的后端主机中选择一个负载情况最低的主机&#xff0c;将用户的代码提交给该主机&#xff0c;该主机进行编译运行&#xff0c;将结果返回…...

Oracle最佳实践-优化硬解析

前段时间参加oracle CAB&#xff0c;oracle高级服务部门做了一个数据库最佳实践的报告&#xff0c;其中就有一项就是解决未使用绑定变量但执行次数很多的SQL&#xff1b; 对于一个数据库来说如果不知道该如何优化&#xff0c;那么最简单最有效的优化就是减少硬解析&#xff0c;…...

Java 实现给pdf文件指定位置盖章功能

Java 实现给pdf文件指定位置盖章功能 开发中遇到一个需求, 需要给用户上传的的pdf文件, 指定位置上盖公章的功能, 经过调研和对比, 最终确定实现思路. 这里是使用pdf文件中的关键字进行章子的定位, 之所以这样考虑是因为如果直接写死坐标的话, 可能会出现因pdf大小, 缩放, 盖章…...

前端通过 jspdf 和 html2canvas 工具将网页生成 pdf

由于 html2canvas 的性能问题&#xff0c;该方案对于页数比较多的场景生成的非常慢&#xff0c;可以试着使用 modern-screenshot 工具看是否性能会得到提升。 import html2canvas from html2canvas import { jsPDF } from jspdfasync function exportPdf(){const pages docume…...

网络安全—部署CA证书服务器

网络拓扑 两台服务器在同一网段即可&#xff0c;即能够互相ping通。 安装步骤 安装证书系统 首先我们对计算机名进行确认&#xff0c;安装了证书系统后我们是不能随意更改计算机名字的&#xff0c;因为以后颁发的证书都是和计算机也就是这一台的服务器名字有关。 修改完成后开…...

用Keytool和OpenSSL生成和签发数字证书

一)keytool生成私钥文件(.key)和签名请求文件(.csr),openssl签发数字证书 J2SDK在目录%JAVA_HOME%/bin提供了密钥库管理工具Keytool,用于管理密钥、证书和证书链。Keytool工具的命令在JavaSE6中已经改变,不过以前的命令仍然支持。Keytool也可以用来管理对称加密算法中…...

《CSS 知识点》大屏卡片布局思路:弹性布局 flex-grow

思路 大屏左右两侧高宽一致&#xff0c;内部卡片可按比例设置&#xff01; 使用弹性布局和属性 flex-grow 设置比例&#xff1b;间隔使用 margin-bottom 设置&#xff0c;最后一个卡片不设置&#xff1b; 效果如图 代码说明 CSS代码 26 - 30&#xff0c;左右两侧设置弹性布…...

ceph单节点部署方式

准备一台单节点虚拟机&#xff0c;2C4G 三个50G的SCSi类型的磁盘 0. 关闭防火墙/关闭SELinux/下载podman/配置时间同步 systemctl disable --now firewalld setenforce 0 vim /etc/sysconfig/selinux SELINUXenforcing 修改为 SELINUXdisabled yum install podman -y sed -…...