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

正则表达式详细介绍

目录

    • 正则表达式详细介绍
      • 什么是正则表达式?
      • 元字符
      • 转义字符
      • 字符类
      • 限定字符
      • 字符分枝
      • 字符分组
      • 懒惰匹配和贪婪匹配
      • 零宽断言

正则表达式详细介绍

什么是正则表达式?

正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。通俗的讲就是校验字符串是否满足规则或者在文本查找满足要求的内容。我在这里给大家举个简单的例子。如果我需要对一组qq号(字符串)进行检验,例如,要求qq号必须是6位到20位之内的,不能以0开头,还必须全是数字。按照正常来说,我需要写一个比较复杂的检测方法。像下面这个是不是看起来比较麻烦。

元字符

元字符:即为有特定含义的字符,常见的元字符如下
常用的元字符(只能匹配一个字符)

  • . 匹配除换行符以外的任意字符
  • \w 匹配字母或数字或下划线或汉字
  • \s 匹配任意的空白符
  • \d 匹配数字
  • \b 匹配单词的开始或结束
  • ^ 匹配字符串的开始(在集合字符里[^a]表示非(不匹配)的意思
  • $ 匹配字符串的结束

1. 点号(.)
点号是一个非常常用的元字符,它可以匹配除换行符之外的任意单个字符。例如,正则表达式 a.c 可以匹配 “abc”、“a1c”、“a@c” 等字符串。这是因为点号在这里代表了任意一个非换行的字符,只要满足 “a” 开头,“c” 结尾,中间是任意单个字符的模式,都能被匹配。需要注意的是,不同的编程语言或工具可能对换行符的定义有所不同,有些可能会将回车符(\r)、换行符(\n)或它们的组合都视为换行情况。

2. 星号(*)
星号用于表示匹配前面的元素零次或多次。例如,正则表达式 ab*c 可以匹配多种情况。当 b 出现零次时,它可以匹配 “ac”;当 b 出现一次时,能匹配 “abc”;当 b 出现多次时,像 “abbbc” 也能被成功匹配。这是因为星号允许前面的 b 字符出现任意次数,包括零次。

3. 加号(+)
加号与星号类似,但它要求前面的元素至少出现一次。以正则表达式 ab+c 为例,它可以匹配 “abc”、“abbbc” 等字符串,但不能匹配 “ac”,因为 b 至少要出现一次才能满足该正则表达式的模式。

4. 问号(?)
问号表示匹配前面的元素零次或一次。例如,正则表达式 ab?c 可以匹配 “ac”(此时 b 出现零次)和 “abc”(b 出现一次)。问号常用于表示某个字符或一组字符是可选的情况。

5. 花括号({n}、{n,}、{n,m})
花括号用于精确控制前面元素的匹配次数,有三种常见的用法:

{n}:精确匹配前面的元素 n 次。例如,a{3} 只能匹配 “aaa”,如果文本中是 “aa” 或 “aaaa” 则无法匹配。
{n,}:匹配前面的元素至少 n 次。例如,a{2,} 可以匹配 “aa”、“aaa”、“aaaa” 等,只要 a 的连续出现次数不少于 2 次即可。
{n,m}:匹配前面的元素 n 到 m 次。例如,a{2,4} 可以匹配 “aa”、“aaa”、“aaaa”,但不能匹配 “a” 或 “aaaaa”。
6. 方括号([ ])
方括号用于定义一个字符集合,匹配方括号内的任意一个字符。例如,[abc] 可以匹配 “a”、“b” 或 “c”。方括号内还可以使用连字符表示字符范围,如 [a-z] 可以匹配任意小写字母,[0-9] 可以匹配任意数字。此外,方括号内的字符顺序不影响匹配结果,[abc] 和 [cba] 的匹配效果是一样的。

7. 脱字符(^)
脱字符在正则表达式中有两种常见用法:

在方括号内使用时,表示取反,即匹配不在方括号内的任意字符。例如,[^abc] 可以匹配除 “a”、“b”、“c” 之外的任意字符,像 “d”、“1”、“@” 等都能被匹配。
在正则表达式开头使用时,表示匹配字符串的开头。例如,^abc 表示只有以 “abc” 开头的字符串才能被匹配,对于 “xyzabc” 这样的字符串则无法匹配。
**8. 美元符号( ) ∗ ∗ 美元符号用于表示匹配字符串的结尾。例如, a b c )** 美元符号用于表示匹配字符串的结尾。例如,abc 美元符号用于表示匹配字符串的结尾。例如,abc 表示只有以 “abc” 结尾的字符串才能被匹配,像 “testabc” 可以匹配,但 “abcdef” 则无法匹配。

  • ^:表示匹配字符串的开头,确保邮箱地址从这里开始,避免匹配到包含邮箱地址但不是以其开头的字符串。
  • [a-zA-Z0-9._%±]+:匹配邮箱用户名部分。方括号内定义了允许的字符集合,包括字母(大小写均可)、数字、点号、下划线、百分号、加号和减号。+ 表示这些字符至少出现一次,因为邮箱用户名不能为空。
  • @:匹配邮箱地址中的 “@” 符号,这是邮箱地址的关键分隔符。
  • [a-zA-Z0-9.-]+:匹配域名部分,允许包含字母、数字、点号和减号。同样,+ 表示这些字符至少出现一次。
  • .:匹配域名中的点号,由于点号是元字符,需要使用反斜杠进行转义。
  • [a-zA-Z]{2,}:匹配顶级域名,由至少两个字母组成。常见的顶级域名如 “.com”、“.cn”、“.org” 等都满足这个规则。
  • $:表示匹配字符串的结尾,确保邮箱地址到这里结束,避免匹配到包含邮箱地址但后面还有其他多余字符的情况。

转义字符

当我们需要匹配元字符本身时,就需要使用反斜杠(\)进行转义。因为元字符在正则表达式中有特殊含义,直接使用会被解释为相应的模式匹配规则。例如,要匹配点号(.),就需要使用 .;要匹配反斜杠本身,需要使用 \。在不同的编程语言中,由于字符串本身也可能使用反斜杠进行转义,所以有时需要使用双反斜杠来表示一个真正的反斜杠。例如,在 Python 中,要匹配一个点号,正则表达式字符串需要写成 r’.'(使用原始字符串避免 Python 字符串本身的转义)。

  • \W 匹配任意不是字母,数字,下划线,汉字的字符
  • \S 匹配任意不是空白符的字符
  • \D 匹配任意非数字的字符
  • \B 匹配不是单词开头或结束的位置
  • [^x] 匹配除了x以外的任意字符
  • [^aeiou] 匹配除了aeiou这几个字母以外的任意字符

字符类

  • [abc] 只能是 a, b, 或 c
  • [^abc] 除了 a, b, c 之外的任何字符
  • [a-zA-Z] a 到 z A 到 Z,包括(范围)
  • [a-d[m-p]] a 到 d,或 m 到 p
  • [a-z&&[def]] a-z 和 def 的交集。为:d, e, f
  • [a-z&&[^bc]] a-z 和非 bc 的交集。(等同于 [ad-z])
  • [a-z&&[^m-p]] a 到 z 和除了 m 到 p 的交集。(等同于 [a-lq-z])

限定字符

  • *重复零次或更多次
  • +重复一次或更多次
  • ? 重复零次或一次
  • {n} 重复n次
  • {n,} 重复n次或更多次
  • {n,m} 重复n到m次

字符分枝

字符分枝多用于满足不同情况的选择,用“|”将不同的条件分割开来,比如有些固定电话区号有三位,有些有四位,这个时候可以采用字符分枝

例如:\d{3}-\d{8}|\d{4}-\d{8} 可以匹配两种不同长度区号的固定电话

下边的IP地址正则表达式也有用到字符分枝

字符分组

字符分组多用于将多个字符重复,主要通过使用小括号()来进行分组

形如:(\d\w){3} 重复匹配3次(\d\w)

常用于表示IP地址 形如: ^(?😦?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$

解析:先把IP地址分为两部分一部分是123.123.123. 另一部分是123,又因Ip最大值为255,所以先使用分组,然后在组里边再进行选择,组里也有三部分,0-199,200-249,250-255,分别和上述的表达是对应,最后还要注意分组之后还要加上一个.,因为是元字符所以要转义故加上. 然后再把这部分整体看做是一个组,重复三次,再加上仅有数字的一组也就是不带.的那一组即可完成IP地址的校验

懒惰匹配和贪婪匹配

贪婪匹配:正则表达式中包含重复的限定符时,通常的行为是匹配尽可能多的字符。

懒惰匹配,有时候需要匹配尽可能少的字符。

    在正则表达式中,默认的匹配模式是贪婪匹配,即尽可能多地匹配字符。例如,正则表达式 a.*b 对于字符串 "aabab" 会匹配整个字符串 "aabab",因为 .* 会尽可能多地匹配字符,直到遇到最后一个 "b"。而非贪婪匹配则是尽可能少地匹配字符,通过在量词后面加上问号 ? 来实现。例如,正则表达式 a.*?b 对于字符串 "aabab" 会匹配 "aab",因为 .*? 会尽可能少地匹配字符,一旦遇到第一个 "b" 就停止匹配。

后向引用用于重复搜索前面某个分组匹配的文本。

使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推

示例:\b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, 或者kitty kitty。

这个表达式首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字(\b(\w+)\b),这个单词会被捕获到编号为1的分组中,然后是1个或几个空白符(\s+),最后是分组1中捕获的内容(也就是前面匹配的那个单词)(\1)

零宽断言

有时候需要查找某些匹配之前或之后的东西,这个时候就需要用到们像\b,^,$那样用于指定一个位置,这个位置应该满足一定的条件(即断言),因此它们也被称为零宽断言

零宽断言是一种特殊的正则表达式语法,它用于在不消耗字符的情况下进行位置匹配。也就是说,零宽断言只检查某个位置是否满足特定的条件,而不会将匹配到的字符作为结果的一部分。
常见的零宽断言有以下几种:

1. 正向先行断言((? = …))
正向先行断言用于检查某个位置后面的字符是否满足特定的模式。例如,正则表达式 \w+(?=\d) 可以匹配后面紧跟着一个数字的单词字符序列。对于字符串 “abc123”,它会匹配 “abc”,因为 “abc” 后面紧跟着数字 “1”。

2. 负向先行断言((?!..))
负向先行断言用于检查某个位置后面的字符是否不满足特定的模式。例如,正则表达式 \w+(?!\d) 可以匹配后面不紧跟着数字的单词字符序列。对于字符串 “abc def123”,它会匹配 “abc” 和 “def”,因为 “abc” 后面不是数字,而 “def” 虽然后面跟着数字,但在匹配 “def” 时检查到后面不是数字的条件是满足的。

3. 正向后行断言((?<=…))
正向后行断言用于检查某个位置前面的字符是否满足特定的模式。例如,正则表达式 (?<=$)\d+ 可以匹配前面紧跟着美元符号的数字序列。对于字符串 “$123”,它会匹配 “123”。

4. 负向后行断言((?<!..))
负向后行断言用于检查某个位置前面的字符是否不满足特定的模式。例如,正则表达式 (?<!$)\d+ 可以匹配前面不紧跟着美元符号的数字序列。对于字符串 “123 $456”,它会匹配 “123”。

相关文章:

正则表达式详细介绍

目录 正则表达式详细介绍什么是正则表达式&#xff1f;元字符转义字符字符类限定字符字符分枝字符分组懒惰匹配和贪婪匹配零宽断言 正则表达式详细介绍 什么是正则表达式&#xff1f; 正则表达式是一组由字母和符号组成的特殊文本&#xff0c;它可以用来从文本中找出满足你想…...

初识ArkTS语言

文章目录 ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript&#xff08;简称TS&#xff09;生态基础上做了进一步扩展&#xff0c;保持了TS的基本风格&#xff0c;同时通过规范定义强化开发期静态检查和分析&#xff0c;提升程序执行稳定性和性能。 从…...

Go语言并发之美:构建高性能键值存储系统

摘要 本文介绍了基于Go语言实现的高性能并发键值存储系统。通过深入探讨Go语言在并发编程中的优势&#xff0c;文章详细阐述了系统的锁机制、分片优化、内存管理和持久化设计等关键环节。这些设计展示了如何在系统开发中进行有效的权衡&#xff0c;以确保最优性能。该系统不仅充…...

6. k8s二进制集群之各节点部署

获取kubernetes源码安装主节点&#xff08;分别执行以下各节点命令&#xff09;安装工作节点&#xff08;同步kebelet和kube-proxy到各工作节点&#xff09;总结 继续上一篇文章《k8s二进制集群之ETCD集群部署》下面介绍一下各节点的部署与配置。 获取kubernetes源码 https:/…...

从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架

目录 前言 环境介绍 代码与动机 架构设计&#xff0c;优缺点 博客系列指引 前言 笔者前段时间花费了一周&#xff0c;整理了一下自从TM1637开始打算的&#xff0c;使用OLED来搭建一个通用的显示库的一个工程。笔者的OLED库已经开源到Github上了&#xff0c;地址在&#xf…...

spring基础总结

先修知识&#xff1a;依赖注入&#xff0c;反转控制&#xff0c;生命周期 IDEA快捷键 Ctrl Altm:提取方法&#xff0c;设置trycatch 通用快捷键&#xff1a; Ctrl F&#xff1a;在当前文件中查找文本。Ctrl R&#xff1a;在当前文件中替换文本。Ctrl Z&#xff1a;撤销…...

基础相对薄弱怎么考研

复习总体规划 明确目标 选择专业和院校&#xff1a;根据你的兴趣、职业规划和自身实力&#xff0c;选择适合自己的专业和院校。可以参考往年的分数线、报录比、复试难度等。了解考试科目&#xff1a;不同专业考试科目不同&#xff0c;一般包括&#xff1a; 公共课&#xff1a…...

代码随想录36 动态规划

leetcode 343.整数拆分 给定一个正整数 n &#xff0c;将其拆分为 k 个 正整数 的和&#xff08; k > 2 &#xff09;&#xff0c;并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。 示例 2: 输入: n 1…...

p5r预告信生成器API

p5r预告信生成器API 本人将js生成的p5r预告信使用go语言进行了重写和部署&#xff0c;并开放了其api&#xff0c;可以直接通过get方法获取预告信的png。 快速开始 http://api.viogami.tech/p5cc/:text eg: http://api.viogami.tech/p5cc/persona5 感谢p5r风格字体的制作者和…...

React图标库: 使用React Icons实现定制化图标效果

React图标库: 使用React Icons实现定制化图标效果 图标库介绍 是一个专门为React应用设计的图标库&#xff0c;它包含了丰富的图标集合&#xff0c;覆盖了常用的图标类型&#xff0c;如FontAwesome、Material Design等。React Icons可以让开发者在React应用中轻松地添加、定制各…...

说说Redis的内存淘汰策略?

大家好&#xff0c;我是锋哥。今天分享关于【说说Redis的内存淘汰策略?】面试题。希望对大家有帮助&#xff1b; 说说Redis的内存淘汰策略? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Redis 提供了多种内存淘汰策略&#xff0c;用于在内存达到限制时决定如何…...

【C语言】自定义类型讲解

文章目录 一、前言二、结构体2.1 概念2.2 定义2.2.1 通常情况下的定义2.2.2 匿名结构体 2.3 结构体的自引用和嵌套2.4 结构体变量的定义与初始化2.5 结构体的内存对齐2.6 结构体传参2.7 结构体实现位段 三、枚举3.1 概念3.2 定义3.3 枚举的优点3.3.1 提高代码的可读性3.3.2 防止…...

机器学习8-卷积和卷积核1

机器学习8-卷积和卷积核1 卷积与图像去噪卷积的定义与性质定义性质卷积的原理卷积步骤卷积的示例与应用卷积的优缺点优点缺点 总结 高斯卷积核卷积核尺寸的设置依据任务类型考虑数据特性实验与调优 高斯函数标准差的设置依据平滑需求结合卷积核尺寸实际应用场景 总结 图像噪声与…...

3、C#基于.net framework的应用开发实战编程 - 实现(三、三) - 编程手把手系列文章...

三、 实现&#xff1b; 三&#xff0e;三、编写应用程序&#xff1b; 此文主要是实现应用的主要编码工作。 1、 分层&#xff1b; 此例子主要分为UI、Helper、DAL等层。UI负责便签的界面显示&#xff1b;Helper主要是链接UI和数据库操作的中间层&#xff1b;DAL为对数据库的操…...

PHP 中 `foreach` 循环结合引用使用时可能出现的问题

问题背景 假设你有如下 PHP 代码&#xff1a; <?php $arr array(1, 2, 3, 4);// 使用引用遍历并修改数组元素 foreach ($arr as &$value) {$value $value * 2; } // 此时 $arr 变为 array(2, 4, 6, 8)// 再使用非引用方式遍历数组 foreach ($arr as $key > $val…...

go gin配置air

一、依赖下载 安装最新&#xff0c;且在你工作区下进行安装&#xff0c;我的是D:/GO是我的工作区&#xff0c;所有项目都在目录下的src&#xff0c; go install github.com/air-verse/airlatest 如果出现类似报错&#xff1a; 将图中第三行 github.com/air-verse/air 替换最…...

在 Spring Boot 项目中,bootstrap.yml 和 application.yml文件区别

在 Spring Boot 项目中&#xff0c;bootstrap.yml 和 application.yml 是两个常用的配置文件&#xff0c;它们的作用和加载顺序有所不同。以下是它们的详细说明&#xff1a; 1. bootstrap.yml 作用&#xff1a; bootstrap.yml 是 Spring Cloud 项目中的配置文件&#xff0c;用于…...

Excel中Address函数的用法

Excel中Address函数的用法 1. 函数详细讲解1.1 函数解释1.2 使用格式1.3 参数定义1.4 要点 2. 实用演示示例2.1 函数需求2.2 公式编写2.3 计算过程 3. 注意事项4. 文档下载5. 其他文章6. 获取全部Excel练习素材快来试试吧&#x1f970; 函数练习素材&#x1f448;点击即可进行下…...

游戏引擎 Unity - Unity 打开项目、Unity Editor 添加简体中文语言包模块、Unity 项目设置为简体中文

Unity Unity 首次发布于 2005 年&#xff0c;属于 Unity Technologies Unity 使用的开发技术有&#xff1a;C# Unity 的适用平台&#xff1a;PC、主机、移动设备、VR / AR、Web 等 Unity 的适用领域&#xff1a;开发中等画质中小型项目 Unity 适合初学者或需要快速上手的开…...

智能家居监控系统数据收集积压优化

亮点&#xff1a;RocketMQ 消息大量积压问题的解决 假设我们正在开发一个智能家居监控系统。该系统从数百万个智能设备&#xff08;如温度传感器、安全摄像头、烟雾探测器等&#xff09;收集数据&#xff0c;并通过 RocketMQ 将这些数据传输到后端进行处理和分析。 在某些情况下…...

Zabbix7.0安装(Ubuntu24.04+LNMP)

1.选择版本 下载Zabbix 2.安装虚拟机 这里选择在Ubuntu24.04上安装Zabbix. 安装链接https://blog.csdn.net/weixin_58189050/article/details/145446065 配置源 vim /etc/apt/sources.list deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multive…...

SpringBoot+Dubbo+zookeeper 急速入门案例

项目目录结构&#xff1a; 第一步&#xff1a;创建一个SpringBoot项目&#xff0c;这里选择Maven项目或者Spring Initializer都可以&#xff0c;这里创建了一个Maven项目&#xff08;SpringBoot-Dubbo&#xff09;&#xff0c;pom.xml文件如下&#xff1a; <?xml versio…...

6种MySQL高可用方案对比分析

大家好&#xff0c;我是 V 哥&#xff0c;关于 MySQL 高可用方案&#xff0c;在面试中频频出现&#xff0c;有同学在字节面试就遇到过&#xff0c;主要考察你在高可用项目中是如何应用的&#xff0c;V 哥整理了6种方案&#xff0c;供你参考。 V 哥推荐&#xff1a;2024 最适合入…...

CLK敏感源和完整GND平面

SPI Flash芯片辐射发射&#xff08;RE&#xff09;问题: 某款产品在3米法电波暗室进行辐射&#xff08;RE&#xff09;发射测试时,发现多个频点余量不满足6dB管控要求. 通过频谱分析仪近场探头分析定位到干扰频点来自于SPI Flash时钟信号的高次谐波干扰&#xff0c;深入分析发…...

团体程序设计天梯赛-练习集——L1-034 点赞

前言 20分的题目题目不难&#xff0c;理解也不难&#xff0c;做起来有点问题 L1-034 点赞 微博上有个“点赞”功能&#xff0c;你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签&#xff0c;而你点赞的博文的类型&#xff0c;也间接刻画了你的特性。本…...

独立成分分析 (ICA):用于信号分离或降维

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 独立成分分析 (Independent Component Analysis, ICA) 是一种用于信号分离和降维的统计方法&#xff0c;常用于盲源分离 (Blind Source Separation, BSS) 问题&#xff0c;例如音频信号分离或脑电信号 (EEG) 处理。…...

【EdgeAI实战】(2)STM32 AI 扩展包的安装与使用

【EdgeAI实战】&#xff08;1&#xff09;STM32 边缘 AI 生态系统 【EdgeAI实战】&#xff08;2&#xff09;STM32 AI 扩展包的安装与使用 【EdgeAI实战】&#xff08;2&#xff09;STM32 AI 扩展包的安装与使用 1. STM32Cube.AI 简介1.1 STM32Cube.AI 简介1.2 X-CUBE-AI 内核引…...

【Java】MyBatis动态SQL

在MyBatis中使用动态SQL语句。 动态SQL是指根据参数数据动态组织SQL的技术。 生活中的案例&#xff1a; 在京东上买东西时&#xff0c;用户搜索商品&#xff0c;可以选择筛选条件&#xff0c;比如品牌&#xff0c;价格&#xff0c;材质等&#xff0c;也可以不使用筛选条件。这时…...

Spring Boot篇

为什么要用Spring Boot Spring Boot 优点非常多&#xff0c;如&#xff1a; 独立运行 Spring Boot 而且内嵌了各种 servlet 容器&#xff0c;Tomcat、Jetty 等&#xff0c;现在不再需要打成 war 包部署到 容器 中&#xff0c;Spring Boot 只要打成一个可执行的 jar 包就能独…...

深入理解Node.js_架构与最佳实践

1. 引言 1.1 什么是Node.js Node.js简介:Node.js是一个基于Chrome V8引擎的JavaScript运行时,用于构建快速、可扩展的网络应用。Node.js的历史背景和发展:Node.js最初由Ryan Dahl在2009年发布,旨在解决I/O密集型应用的性能问题。随着时间的推移,Node.js社区不断壮大,提供…...

使用mockttp库模拟HTTP服务器和客户端进行单元测试

简介 mockttp 是一个用于在 Node.js 中模拟 HTTP 服务器和客户端的库。它可以帮助我们进行单元测试和集成测试&#xff0c;而不需要实际发送 HTTP 请求。 安装 npm install mockttp types/mockttp模拟http服务测试 首先导入并创建一个本地服务器实例 import { getLocal } …...

响应式编程_02基本概念:背压机制 Backpressure

文章目录 Pre流流的处理模型拉模式推模式 流量控制产者生产数据的速率小于消费者的场景生产者生产数据的速率大于消费者消费数据无界队列有界丢弃队列有界阻塞队列 背压机制响应式流规范响应式流的核心接口PublisherSubscriberSubscription 响应式流的技术生态圈 小结 Pre 响应…...

Jason配置环境变量

jason官网 https://jason-lang.github.io/ https://github.com/jason-lang/jason/releases 步骤 安装 Java 21 或更高版本 安装 Visual Studio Code 根据操作系统&#xff0c;请按照以下具体步骤操作 视窗 下载 Jason 的最新版本&#xff0c;选择“jason-bin-3.3.0.zip”…...

[ESP32:Vscode+PlatformIO]新建工程 常用配置与设置

2025-1-29 一、新建工程 选择一个要创建工程文件夹的地方&#xff0c;在空白处鼠标右键选择通过Code打开 打开Vscode&#xff0c;点击platformIO图标&#xff0c;选择PIO Home下的open&#xff0c;最后点击new project 按照下图进行设置 第一个是工程文件夹的名称 第二个是…...

java开发面试自我介绍模板_java面试自我介绍3篇

java 面试自我介绍 3 篇 java 面试自我介绍篇一&#xff1a; 我叫赵&#xff0c;我的同学更都喜欢称呼我的英文名字&#xff0c;叫&#xff0c;六月的 意思&#xff0c;是君的谐音。我来自安徽的市&#xff0c;在 21 年我以市全市第一名 的成绩考上了大学&#xff0c…...

intra-mart实现简易登录页面笔记

一、前言 最近在学习intra-mart框架&#xff0c;在此总结下笔记。 intra-mart是一个前后端不分离的框架&#xff0c;开发时主要用的就是xml、html、js这几个文件&#xff1b; xml文件当做配置文件&#xff0c;html当做前端页面文件&#xff0c;js当做后端文件&#xff08;js里…...

2025最新软件测试面试大全

前面看到了一些面试题&#xff0c;总感觉会用得到&#xff0c;但是看一遍又记不住&#xff0c;所以我把面试题都整合在一起&#xff0c;都是来自各路大佬的分享&#xff0c;为了方便以后自己需要的时候刷一刷&#xff0c;不用再到处找题&#xff0c;今天把自己整理的这些面试题…...

JDK17主要特性

JDK 17&#xff0c;也被称为Java 17或Java Platform, Standard Edition 17&#xff0c;是Java编程语言的第十七个主要版本&#xff0c;由Oracle公司在2021年9月发布。Java 17是一个长期支持&#xff08;LTS&#xff0c;Long-Term Support&#xff09;版本&#xff0c;这意味着它…...

基于SpringBoot的在线远程考试系统的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

Android Studio:Application 和 Activity的区别

Application 和 Activity 是 Android 中非常重要的两个组件&#xff0c;它们分别负责不同的生命周期管理和应用的不同层次的操作。 Application 是应用级别的生命周期管理&#xff0c;它在整个应用运行时只有一个实例&#xff0c;负责应用的全局初始化和资源管理。Activity 是…...

GAN(生成对抗网络,Generative Adversarial Network)

https://www.bilibili.com/video/BV1mp4y187dm/?spm_id_from333.788.recommend_more_video.2&vd_source35b06c13f470dff84c947fa3045bafc3...

大模型Dense、MoE 与 Hybrid-MoE 架构的比较

在大模型架构设计中&#xff0c;Dense&#xff08;全连接&#xff09;、MoE&#xff08;混合专家&#xff09;和Hybrid-MoE&#xff08;混合式MoE&#xff09;是三种主流的参数组织方式&#xff0c;它们在模型容量、计算效率和应用场景上存在显著差异。以下从核心原理、技术特点…...

Java进阶学习之路

Java进阶之路 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 Java进阶之路前言一、Java入门 Java基础 1、Java概述 1.1 什…...

Django 多数据库

django 支持项目连接多个数据库 DATABASES = {default: {ENGINE: django.db.backends.mysql,NAME: xxx,USER: root,"PASSWORD": xxxxx,HOST: xxxx,PORT: 3306,},bak: {ENGINE: django.db.backends.mysql,NAME: xxx,USER: root,"PASSWORD": xxxx,HOST: xxx…...

Vue 中如何嵌入可浮动的第三方网页窗口(附Demo)

目录 前言1. 思路Demo2. 实战Demo 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 1. 思路Demo 以下Demo提供思路参考&#xff0c;需要结合实际自身应用代码 下述URL的链接使用百度替代&#xff01; 方式 1…...

6-图像金字塔与轮廓检测

文章目录 6.图像金字塔与轮廓检测(1)图像金字塔定义(2)金字塔制作方法(3)轮廓检测方法(4)轮廓特征与近似(5)模板匹配方法6.图像金字塔与轮廓检测 (1)图像金字塔定义 高斯金字塔拉普拉斯金字塔 高斯金字塔:向下采样方法(缩小) 高斯金字塔:向上采样方法(放大)…...

【学Rust写CAD】4 相对坐标系详解与实现要素概览

相对坐标系&#xff08;Relative Coordinate System, RCS&#xff09;是一个强大且灵活的工具&#xff0c;尤其在绘图、三维建模等领域中发挥着重要作用。以下是对相对坐标系的详细解析&#xff0c;包括其定义、应用、特性、与绝对坐标的区别、在CAD中的应用以及实现方式。 一…...

win编译openssl

一、perl执行脚本 1、安装perl脚本 perl安装 2、配置perl脚本 perl Configure VC-WIN32 no-asm no-shared --prefixE:\openssl-x.x.x\install二、编译openssl 1、使用vs工具编译nmake 如果使用命令行nmake编译会提示“无法打开包括文件: “limits.h”“ 等错误信息 所以…...

Kafka 使用说明(kafka官方文档中文)

文章来源:kafka -- 南京筱麦软件有限公司 第 1 步:获取 KAFKA 下载最新的 Kafka 版本并提取它: $ tar -xzf kafka_{{scalaVersion}}-{{fullDotVersion}}.tgz $ cd kafka_{{scalaVersion}}-{{fullDotVersion}} 第 2 步:启动 KAFKA 环境 注意:您的本地环境必须安装 Java 8+。…...

PyTorch数据建模

回归分析 import torch import numpy as np import pandas as pd from torch.utils.data import DataLoader,TensorDataset import time strat = time.perf_counter()...