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

【JavaScript】二十六、正则表达式

文章目录

  • 1、正则表达式
    • 1.1 定义
    • 1.2 校验
  • 2、元字符
    • 2.1 边界符
    • 2.2 量词
    • 2.3 字符类
      • 2.3.1 方括号[ ]
      • 2.3.2 小点.
      • 2.3.3 预定义
    • 2.4 案例:用户名验证
  • 3、修饰符
    • 3.1 语法
    • 3.2 案例:过滤敏感词

1、正则表达式

Regular Expression,正则表达式,用于做字符串匹配(格式校验)、字符串特定部分提取、字符串特定部分替换(敏感词替换为**),在JS中,正则表达式是一个对象

在这里插入图片描述

1.1 定义

语法:

const 变量名 = /表达式/

举例:

// 定义规则,不用加引号,即使是中文
const regObj = /文本/

1.2 校验

test方法,用于查看正则表达式与指定的字符串是否匹配,匹配则返回true,否则false:

正则表达式对象.test(被检测的字符串)

exec方法,在一个指定字符串中执行一个搜索匹配,匹配成功,返回一个数组,否则返回null:

正则表达式对象.exec(被检测的字符串)

举例:

<body><script>const str = '测试文本1测试文本2'// 定义规则,不用加引号,即使是中文const regObj = /文本/// 校验是否匹配const match = regObj.test(str)// trueconsole.log(match)console.log(regObj.exec(str))</script>
</body>

在这里插入图片描述

贴一个正则小工具:https://tool.oschina.net/regex

2、元字符

即一些特殊字符,提高写正则表达式的灵活性,比如规定只能是26个英文字母,用元字符: [a-z],元字符包括:

  • 边界符(表示位置,开头和结尾,必须用什么开头,用什么结尾)
  • 量词 (表示重复次数)
  • 字符类 (比如 \d 表示 0~9)

2.1 边界符

在这里插入图片描述

<script>console.log(//.test('哈'))    //trueconsole.log(//.test('哈哈'))  //trueconsole.log(//.test('二哈'))  //trueconsole.log('----------')console.log(/^哈/.test('哈'))    //trueconsole.log(/^哈/.test('哈哈'))  //trueconsole.log(/^哈/.test('二哈'))  //false
</script>

如果 ^ 和 $ 在一起,表示必须是精确匹配,必须一模一样才是true

<script>console.log(/^哈$/.test('哈'))    //trueconsole.log(/^哈$/.test('哈哈'))  //false,精确匹配,一模一样才是true</script>

2.2 量词

设定某个模式出现的次数

在这里插入图片描述

<body><script>console.log(/^哈*$/.test(''))  //true,重复了0次console.log(/^哈*$/.test('哈'))  //true,重复了1次console.log(/^哈*$/.test('哈哈'))  //true,重复了2次console.log(/^哈*$/.test('二哈'))  //falseconsole.log(/^哈*$/.test('哈很哈'))  //false</script>
</body>

/^哈*$/.test('哈很哈')为例,^ 和 $ 在一起,表示必须是精确匹配,*则匹配0次或者多次,而哈很哈,不满足精确匹配,返回false,这就是上面说的,代表某个模式出现的次数,哈很哈这个字符串,首先就不满足这个模式(精确匹配的模式),还没到量词就被pass了

<body><script>console.log(/^哈+$/.test(''))  //false,重复了0次console.log(/^哈+$/.test('哈'))  //true,重复了1次console.log(/^哈+$/.test('哈哈'))  //true,重复了2次console.log(/^哈+$/.test('二哈'))  //falseconsole.log(/^哈+$/.test('哈很哈'))  //false</script>
</body>

{n}即必须重复n次

<body><script>console.log(/^哈{3}$/.test(''))  //false,重复了0次console.log(/^哈{3}$/.test('哈'))  //false,重复了1次console.log(/^哈{3}$/.test('哈哈哈'))  //true,重复了3次console.log(/^哈{3}$/.test('二哈'))  //falseconsole.log(/^哈{3}$/.test('哈很哈'))  //false</script>
</body>

最后,注意{n,}{n,m}的左右两边,都不能有空格

2.3 字符类

2.3.1 方括号[ ]

[ ] 匹配字符集合,如下,后面的字符串只要包含 abc 中任意一个字符,都返回 true

在这里插入图片描述

[ ] 里面再加上连字符-,表示范围:

[a-z] 表示 a 到 z 26个英文字母都可以
[a-zA-Z] 表示大小写都可以
[0-9] 表示 0~9 的数字都可以

以QQ号为例:

在这里插入图片描述

[1-9]即第一位只能从1到9选,不能为0,后面的[0-9]搭配了一个{4,}(注意,量字符,是给它左侧最近的一个加的),即从第二位开始,可以是0到9中的任意一位,至少4位,比如10000,就是四个0

// 例子
<body><script>console.log(/[abc]/.test('a'))  //trueconsole.log(/[abc]/.test('ab'))  //trueconsole.log(/[abc]/.test('abc'))  //trueconsole.log(/[abc]/.test('abcd'))  //trueconsole.log('---------')console.log(/^[abc]$/.test('a'))  //trueconsole.log(/^[abc]$/.test('ab'))  //false,数量不对,只能有一个字母,中括号精确匹配下是n选1console.log(/^[abc]$/.test('abc'))  //falseconsole.log('---------')console.log(/^[abc]$/.test('a'))  //trueconsole.log(/^[abc]{2}$/.test('ab'))  //true,加入了量词console.log(/^[abc]{3}$/.test('abc'))  //true</script>
</body>

[ ] 里面搭配^,表示取反:

[^a-z] 匹配除了小写字母以外的字符

2.3.2 小点.

小点. 匹配除换行符之外的任何单个字符

2.3.3 预定义

指一些常见模式的简写方式:

在这里插入图片描述

2.4 案例:用户名验证

需求:用户名要求用户英文字母,数字,下划线或者短横线组成,并且用户名长度为 6~16位,表单失焦时开始验证:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>span {display: inline-block;width: 250px;height: 30px;vertical-align: middle;line-height: 30px;padding-left: 15px;}.error {color: red;background: url(./images/error1.png) no-repeat left center;}.right {color: green;background: url(./images/right.png) no-repeat left center;}</style>
</head><body><input type="text"><span></span><script>const input = document.querySelector('input')const span = document.querySelector('span')const regObj = /^[a-zA-Z0-9-_]{6,16}$/input.addEventListener('blur', function () {if (regObj.test(this.value)) {span.innerHTML = '格式正确'span.className = 'right'} else {span.innerHTML = '格式错误'span.className = 'error'}})</script>
</body></html>

如果符合正则规范, 则让后面的span标签添加 right 样式类

在这里插入图片描述

3、修饰符

3.1 语法

修饰正则表达式执行的一些细节,比如区分大小写,语法:

在这里插入图片描述

  • i 是单词 ignore 的缩写,正则匹配时字母不区分大小写
  • g 是单词 global 的缩写,匹配所有满足正则表达式的结果
<body><script>console.log(/^java$/.test('java'))  //trueconsole.log(/^java$/.test('JAVA'))  //falseconsole.log(/^java$/i.test('JAVA'))  //true</script>
</body>

replace方法替换:

在这里插入图片描述

<body><script>const str = 'java课程学JAVA'const newStr = str.replace(/java/i, 'JS')console.log(newStr)</script>
</body>

发现只替换了第一个词:

在这里插入图片描述
加g全局替换:

const newStr = str.replace(/java/ig, 'JS')

当然,除了用i解决大小写问题,也可以这么写:符号或

const newStr = str.replace(/java|JAVA/g, 'JS')

3.2 案例:过滤敏感词

需求:要求用户不能输入敏感字“傻鸟”、“蠢鸟”

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body><div><textarea name="" id="" cols="30" rows="10"></textarea><button>发布评论</button></div><div>评论内容:<span></span></div><script>const text = document.querySelector('textarea')const button = document.querySelector('button')const span = document.querySelector('span')button.addEventListener('click', function () {const newText = text.value.replace(/傻鸟|蠢鸟/g, '**')text.value = ''span.innerHTML = newText})</script>
</body></html

在这里插入图片描述

相关文章:

【JavaScript】二十六、正则表达式

文章目录 1、正则表达式1.1 定义1.2 校验 2、元字符2.1 边界符2.2 量词2.3 字符类2.3.1 方括号[ ]2.3.2 小点.2.3.3 预定义 2.4 案例&#xff1a;用户名验证 3、修饰符3.1 语法3.2 案例&#xff1a;过滤敏感词 1、正则表达式 Regular Expression&#xff0c;正则表达式&#x…...

Geek强大的电脑卸载软件工具,免费下载

一款强大的卸载电脑软件工具,无需安装 免费下载...

tomcat Server 连接服务器 进展

由于机房的环境变更&#xff0c;所接触的问题也不一样&#xff01;&#xff01;&#xff01;&#xff01; 但后来出现以下提示&#xff1a; 已连接到服务器 配置错误: 部署源 springmvc:war 无效[2025-04-23 11:19:50,192] 工件 springmvc:war: 部署工件时出错。请参阅服务器日…...

Elasticsearch 集群节点下线方案

Elasticsearch 集群节点下线方案 在 Elasticsearch&#xff08;ES&#xff09;集群中&#xff0c;节点&#xff08;Node&#xff09;下线可能会影响数据的可用性和集群的健康状态。因此&#xff0c;正确的下线步骤需要确保数据不会丢失&#xff0c;并且不会影响查询或写入。 &…...

【模板匹配】图像处理(OpenCV)-part10

19.1模板匹配 模板匹配就是用模板图&#xff08;通常是一个小图&#xff09;在目标图像&#xff08;通常是一个比模板图大的图片&#xff09;中不断的滑动比较&#xff0c;通过某种比较方法来判断是否匹配成功,找到模板图所在的位置。 不会有边缘填充。 类似于卷积&#xff0c…...

VMware中CentOS 7虚拟机设置固定IP(NAT模式)完整教程

前言 在VMware中为CentOS 7虚拟机配置固定IP是搭建稳定服务环境的关键步骤。本文基于用户提供的最新配置文件&#xff0c;详细演示如何从DHCP自动获取IP调整为固定IP&#xff08;192.168.89.129&#xff09;&#xff0c;并提供修改前后的配置对比及操作验证。 一、当前配置状态…...

Ragflow、Dify、FastGPT、COZE核心差异对比与Ragflow的深度文档理解能力​​和​​全流程优化设计

一、Ragflow、Dify、FastGPT、COZE核心差异对比 以下从核心功能、目标用户、技术特性等维度对比四款工具的核心差异&#xff1a; 核心功能定位 • Ragflow&#xff1a;专注于深度文档理解的RAG引擎&#xff0c;擅长处理复杂格式&#xff08;PDF、扫描件、表格等&#xff09;的…...

飞帆控件:在编辑模式下额外加载的库

飞帆是一个自由的控件设计平台。在飞帆中&#xff0c;我们可以很方便地创建基于 Vue 2 组件的控件&#xff0c;并使用控件来搭建网页。 他山之石&#xff0c;可以攻玉。在创建控件中&#xff0c;使用 js 、css 依赖库能让我们的控件更强大。 有些时候&#xff0c;在编辑模式下…...

​​Agentic AI——当AI学会主动思考与决策,世界将如何被重塑?

一、引言&#xff1a;2025&#xff0c;Agentic AI的元年 “如果ChatGPT是AI的‘聊天时代’&#xff0c;那么2025年将开启AI的‘行动时代’。”——Global X Insights[1] 随着Agentic AI&#xff08;自主决策型人工智能&#xff09;的崛起&#xff0c;AI系统正从被动应答的“工具…...

68元撬动未来:明远智睿2351开发板重塑嵌入式开发生态

在嵌入式开发领域&#xff0c;价格与性能的矛盾始终存在&#xff1a;高端开发板功能强大但成本高昂&#xff0c;低价产品则往往受限于性能与扩展性。明远智睿2351开发板以68元&#xff08;含税&#xff09;的定价打破这一僵局&#xff0c;通过四核1.4G处理器、全功能Linux系统与…...

C# 全局 Mutex 是否需使用 `Global\` 前缀

回顾一下Mutex在Windows中的作用。Mutex是用于同步多个进程或线程的机制&#xff0c;确保同一时间只有一个实例访问资源。当创建Mutex时&#xff0c;如果命名时没有指定Global\前缀&#xff0c;默认可能是在会话内创建的&#xff0c;也就是只在当前用户会话中可见。这样的话&am…...

C# 中的 `lock` 关键字本质

C# 中的 lock 关键字本质上是基于 Monitor 类实现的线程同步机制&#xff0c;其核心是通过 互斥锁&#xff08;Mutex&#xff09; 确保代码块的原子性执行。以下是其实现本质的分步解析&#xff1a; 1. 语法糖的转换 当使用 lock 关键字时&#xff1a; lock (obj) {// 临界区…...

Java 集合:泛型、Set 集合及其实现类详解

参考资料:java入门到飞起 Java&#xff1b;泛型&#xff1b;Set 集合&#xff1b;TreeSet&#xff1b;HashSet&#xff1b;数据结构 一、引言 在 Java 编程中&#xff0c;集合框架是一个重要的组成部分&#xff0c;它提供了丰富的数据结构和算法来存储和操作数据。泛型与 Set…...

前端基础之《Vue(8)—内置组件》

一、Vue2.0中的内置组件 1、<slot> 插槽 2、<keep-alive> 动态组件 被keep-alive所包裹的组件&#xff1a; &#xff08;1&#xff09;不会被销毁。 &#xff08;2&#xff09;还会多两个生命周期钩子&#xff1a;activated()、deactivated()。 &#xff08;3&a…...

Zookeeper是什么?基于zookeeper实现分布式锁

zookeeper听的很多&#xff0c;但实际在应用开发中用的不错&#xff0c;主要是作为中间件配合使用的&#xff0c;例如&#xff1a;Kafka。 了解zk首先需要知道它的数据结构&#xff0c;可以想象为树、文件夹目录。每个节点有基本的信息&#xff0c;例如&#xff1a;创建时间、…...

计算机网络 第二章:应用层(四)

2.6 视频流和内容分发网 对如何在因特网中实现流行的视频流服务进行概述。它们的实现方式是使用应用层协议和以像高速缓存那样方式运行的服务器。 2.6.1 因特网视频 在流式存储视频应用中&#xff0c;基础的媒体是预先录制的视频&#xff0c;例如电影、电视节目、录制好的体育…...

什么是数据库的DDL和DML,有什么区别?

数据库中的 DDL 和 DML 是两类不同的 SQL 语言&#xff0c;用于不同的数据库操作目的。以下是它们的定义、区别和具体说明&#xff1a; 1. DDL&#xff08;Data Definition Language&#xff0c;数据定义语言&#xff09; 作用&#xff1a;定义或修改数据库的结构&#xff08;…...

HCIP实验二(OSPF网络配置与优化)

一.拓扑图与题目 1.R5为ISP&#xff0c;其上只能配置IP地址; R5与其他所有直连设备间均使用公有IP;环回地址为100.1.1.1/3 2.R4设备为企业出口路由器 3.整个0SPF环境IP基于172.16.0.0/16划分 4.所有设备均可访问R5的环回; 5.减少LSA的更新里&#xff0c;加快收敛&#xff0…...

第十六讲、isaaclab中使用任务空间(task-space)控制

0 前言 官方教程&#xff1a;https://isaac-sim.github.io/IsaacLab/main/source/tutorials/05_controllers/run_diff_ik.html IsaacsimIsaaclab安装&#xff1a;https://blog.csdn.net/m0_47719040/article/details/146389391?spm1001.2014.3001.5502 在之前的教程中我们利…...

无人船 | 图解基于PID控制的路径跟踪算法(以欠驱动无人艇Otter为例)

目录 1 PID控制的三大组成1.1 比例控制作用1.2 积分控制作用1.3 微分控制作用 2 基于欠驱动运动学的PID控制3 跟踪效果分析 1 PID控制的三大组成 PID控制律的定量表达请参考无人船 | 图解基于PID控制的路径跟踪算法(以全驱动无人艇WAMV为例)&#xff0c;本文进一步介绍PID每个…...

【C++】13.list的模拟实现

首先&#xff0c;我们需要把链表管理起来&#xff0c;也就是把一个个节点管理起来&#xff0c;但是每个节点的信息我们也需要管理&#xff0c;例如节点的前驱指针和后驱指针&#xff0c;以及节点的值&#xff0c;所以我们这里先封装两个类来管理节点和链表。 namespace Ro {te…...

Springfox + Swagger 的完整配置及同类框架对比的详细说明

以下是 Springfox Swagger 的完整配置及同类框架对比的详细说明&#xff1a; 一、Springfox Swagger 配置详解 1. 添加依赖 在 pom.xml 中添加以下依赖&#xff1a; <!-- Springfox Swagger 2 --> <dependency><groupId>io.springfox</groupId>…...

实现支付宝沙箱环境搭建

1.介绍 在业务开发的过程中&#xff0c;有时会涉及到一些支付相关的功能&#xff0c;这个时候就需要接入第三方支付接口&#xff0c;而由于开发中需要不断进行测试&#xff0c;使用真实的账号进行支付就有些不值得&#xff0c;所以支付宝为我们提供了第三方SDK&#xff0c;供我…...

element-ui transfer 组件源码分享

transfer 穿梭框组件源码简单分享&#xff0c;主要从以下几个方面&#xff1a; 1、transfer 组件页面结构。 2、transfer 组件属性。 3、transfer 组件方法。 4、transfer 组件事件。 5、transfer slot 挂载。 一、组件页面结构。 二、组件属性。 2.1 value / v-model 绑…...

【最新版】沃德代驾源码全开源+前端uniapp

一.系统介绍 基于ThinkPHPUniapp开发的代驾软件。系统源码全开源&#xff0c;代驾软件的主要功能包括预约代驾、在线抢单、一键定位、在线支付、车主登记和代驾司机实名登记等‌。用户可以通过小程序预约代驾服务&#xff0c;系统会估算代驾价格并推送附近代驾司机供用户选择&…...

【无标题】spark安装部署

Spark 4种部署模式的另外2种&#xff0c;分别是Yarn、windows模式。 二、 实验准备工作&#xff1a; 1. 三台linux虚拟机 2. spark的压缩包 三、 实验步骤 Spark-yarn 1. 解压缩文件&#xff0c;并重命名为spark-yarn。 tar zxvf spark-3.0.0-bin-hadoop3.2.tgz mv spar…...

【异常解决】Spring Boot 返回排序后的 Map 但前端接收顺序不对的解决方案

博主介绍&#xff1a;✌全网粉丝22W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

中兴云电脑W102D_晶晨S905X2_2+16G_mt7661无线_安卓9.0_线刷固件包

中兴云电脑W102D_晶晨S905X2_216G_mt7661无线_安卓9.0_线刷固件包 准备工作&#xff1a; 工具和设备在开始刷机之前&#xff0c;确保你已经准备好以下物品&#xff1a;双公头USB线&#xff1a;选择一根30-50厘米长的USB线&#xff0c;长度适中&#xff0c;方便操作&#xff0c;…...

深度学习激活函数与损失函数全解析:从Sigmoid到交叉熵的数学原理与实践应用

目录 前言一、sigmoid 及导数求导二、tanh 三、ReLU 四、Leaky Relu五、 Prelu六、Softmax七、ELU八、极大似然估计与交叉熵损失函数8.1 极大似然估计与交叉熵损失函数算法理论8.1.1 伯努利分布8.1.2 二项分布8.1.3 极大似然估计总结 前言 书接上文 PaddlePaddle线性回归详解…...

Kotlin中实现静态

实现“类似静态” class Util {fun action1() {}//使用companion object关键字会在类的内部创建一个伴生类&#xff0c;每个类都允许有一个伴生类//而action2作为伴生类中的方法&#xff0c;可以直接通过类名进行调用&#xff0c;实现类似“静态”的效果companion object {fun…...

Android 回显

//执行 private void playRunTime(String cmd) throws Exception { Process p Runtime.getRuntime().exec(cmd); InputStream is p.getInputStream(); BufferedReader reader new BufferedReader(new InputStreamReader(is)); String l…...

基于大模型的胃食管反流病全周期预测与诊疗方案研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 二、胃食管反流病概述 2.1 疾病定义与分类 2.2 流行病学特征 2.3 发病机制 三、大模型技术原理与应用基础 3.1 大模型简介 3.2 适用于胃食管反流病预测的大模型类型 3.3 数据收集与预处理 四、大模型在胃食…...

class文件(二)

字段表集合&#xff1a; 用于描述接口或类中声明的变量 包括类级变量以及实例级变量&#xff0c;不包括方法内部声明的局部变量 字段的修饰符包括&#xff1a; 作用域&#xff1a;public、private、protected修饰符 实例还是类变量&#xff1a;static 可变性&#xff1a;fin…...

Django 实现电影推荐系统:从搭建到功能完善(附源码)

前言&#xff1a;本文将详细介绍如何使用 Django 构建一个电影推荐系统&#xff0c;涵盖项目的搭建、数据库设计、视图函数编写、模板渲染以及用户认证等多个方面。&#x1f517;软件安装、环境准备 ❤ 【作者主页—&#x1f4da;阅读更多优质文章、获取更多优质源码】 目录 一…...

UML2.0中的14种图简介,并借助AI生成UML图

UML2.0中的14种图简介&#xff0c;并借助AI生成UML图 绘制流程结构图&#xff08;Structure Diagrams&#xff09;1. 类图&#xff08;Class Diagram&#xff09;&#xff1a;2. 对象图&#xff08;Object Diagram&#xff09;&#xff1a;3. 组件图&#xff08;Component Diag…...

Jsoup、Selenium 和 Playwright 的含义、作用和区别

文章目录 一、Jsoup1. 含义2. 作用3. 核心特性4. 适用场景 二、Selenium1. 含义2. 作用3. 核心特性4. 适用场景 三、Playwright1. 含义2. 作用3. 核心特性4. 适用场景 四、Jsoup、Selenium 和 Playwright 的区别五、适用场景对比六、总结 Jsoup、Selenium 和 Playwright 都是用…...

服务器如何修复SSL证书错误?

修复服务器上的SSL证书错误需要根据具体错误类型逐步排查和解决。以下是常见的步骤和解决方案&#xff1a; --- ### **1. 确认错误类型** 首先检查浏览器或工具&#xff08;如OpenSSL&#xff09;报错的具体信息&#xff0c;常见错误包括&#xff1a; - **证书过期**&#xf…...

AD9253链路训练

传统方式 参考Xilinx官方文档xapp524。对于AD9253器件 - 125M采样率 - DDR模式&#xff0c;ADC器件的DCO采样时钟(500M Hz)和FCO帧时钟是中心对齐的&#xff0c;适合直接采样。但是DCO时钟不能直接被FPGA内部逻辑使用&#xff0c;需要经过BUFIO和BUFR缓冲后&#xff0c;得到s_b…...

VAE-LSTM异常检测模型复刻报告

VAE-LSTM异常检测模型复刻报告 复刻背景 本报告记录了我复刻VAE-LSTM异常检测模型的完整过程。原论文提出了一种结合变分自编码器(VAE)和长短期记忆网络(LSTM)的异常检测方法&#xff0c;用于时间序列数据。 环境配置 复刻过程中使用的环境配置如下&#xff1a; Python 3.…...

有哪些信誉良好的脂多糖供应商推荐?

一般描述 Sigma-Aldrich的脂多糖 (LPS) 是糖脂&#xff0c;由连接单个或多个脂肪酸的碳水化合物单元组合而成&#xff0c;存在于革兰氏阴性菌细胞壁中。LPS是外膜的重要组成部分&#xff0c;结构由脂质A、葡萄糖胺基磷脂、短核寡糖和O-抗原&#xff08;远端多糖&#xff09;组…...

初识分布式事务原理

事务是指符合ACID特性的操作就是事务&#xff0c;在同一个数据库中&#xff0c;如果要分别对表A和表B进行插入和删除操作&#xff0c;如果其中一个操作执行失败&#xff0c;可以对当前数据库进行回滚&#xff0c;使其回滚到执行操作前的状态&#xff0c;但是现有的系统架构都是…...

文件上传过程中出现EOFException的解决方案

文件上传过程中出现EOFException的解决方案 项目场景&#xff1a; 项目是一个考试测评系统&#xff0c;包含学生答题截图上传功能。学生通过前端界面提交答题截图&#xff0c;后端服务接收并处理这些图片文件&#xff0c;存储到MinIO对象存储中。 问题描述 前端调用’提交答…...

智能文档解析系统架构师角色定义

&#xff08;根据专业写作类任务要求&#xff0c;以系统架构师角色定义范式进行结构化呈现&#xff09; 智能文档解析系统架构师角色定义 核心技能模块 1. 多模态语义解析引擎 支持中英双语对齐的异构数据解码遵循ISO/IEC 30140标准的JSON语法校验体系 ├─ 智能字段补全机…...

翻倍缠论系统+拐点多空雷达,组合指标的使用操盘技术

如上图&#xff0c;单独从副图指标信号来说&#xff0c;在标记①的位置&#xff0c;开始出现副图指标【拐点多空雷达】转多的买点&#xff0c;红柱开始出现就是跟进做多的第一买点。 在标记②的位置&#xff0c;副图指标出现红柱持续&#xff0c;而黑色的柱线开始出现&#xf…...

Linux脏页相关参数

参数 以下是Linux内核中与脏页&#xff08;Dirty Page&#xff09;相关的各个参数及其含义的详细说明&#xff1a; 1. vm.dirty_background_bytes 含义&#xff1a;系统内存中脏页数量的绝对字节阈值&#xff08;单位为字节&#xff09;&#xff0c;当脏页达到此值时&#x…...

C++20 module下的LVGL模拟器

ARM GCC&#xff1a;14.2 Toolchain&#xff1a;MSVC 前篇&#xff1a;使用SDL2搭建简易LVGL模拟器_lvgl sdl-CSDN博客 故事 从前 我所用的单片机工程本身是为了电赛设计的&#xff0c;由于电赛的特性&#xff0c;需要使用同一个实验平台通过不同外设的“排列组合”来实现不…...

Go全栈_Golang、Gin实战、Gorm实战、Go_Socket、Redis、Elasticsearch、微服务、K8s、RabbitMQ全家桶

Go全栈全家桶包含&#xff1a; 1、【零基础入门】Go语言核心编程零基础入门实战&#xff0c;B站学习地址分享&#xff1a; 【2025年新版】Go语言教程 2、GolangGinGorm仿小米商城企业级项目实战 3、Golang仿小米商城高并发微服务实战 4、Golang RabbitMQ高并发秒杀、抢购、预约…...

STM32提高篇: 蓝牙通讯

STM32提高篇: 蓝牙通讯 一.蓝牙通讯介绍1.蓝牙技术类型 二.蓝牙协议栈1.蓝牙芯片架构2.BLE低功耗蓝牙协议栈框架 三.ESP32-C3中的蓝牙功能1.广播2.扫描3.通讯 四.发送和接收 一.蓝牙通讯介绍 蓝牙&#xff0c;是一种利用低功率无线电&#xff0c;支持设备短距离通信的无线电技…...

Linux系统编程---精灵进程与守护进程

1、前言 精灵进程又称守护进程、后台进程&#xff0c;在英文中称为 daemon 进程。精灵进程是运行在一个相对干净的环境、不受终端影响、常驻内存的进程&#xff0c;和神话中的精灵一样&#xff0c;拥有不死不灭的特性&#xff0c;长期稳定提供某种功能或服务。 在Linux系统中&a…...

《让机器人读懂你的心:情感分析技术融合奥秘》

机器人早已不再局限于执行简单机械的任务&#xff0c;人们期望它们能像人类伙伴一样&#xff0c;理解我们的喜怒哀乐&#xff0c;实现更自然、温暖的互动。情感分析技术&#xff0c;正是赋予机器人这种“理解人类情绪”能力的关键钥匙&#xff0c;它的融入将彻底革新机器人与人…...