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

鸿蒙harmonyOS:笔记 正则表达式

从给出的文本中,按照既定的相关规则,匹配出符合的数据,其中的规则就是正则表达式,使用正则表达式,可以使得我们用简洁的代码就能实现一定复杂的逻辑,比如判断一个邮箱账号是否符合正常的邮箱账号,再比如判断一个手机号是否正常的手机号,等等,正因为有了正则,得以让文本处理起来更加的简单。
日常开发中主要用来做三件事 : 匹配、替换、提取。
  • 手机号表单要求用户只能输入11位的数字 (匹配)
  • 过滤掉页面内容中的一些敏感词(替换)
  • 从字符串中获取我们想要的特定部分(提取)

基本使用 

   基础步骤;
  1. 定义正则
  2. 使用正则
  3. 定义正则
// 方式 1:简写
const res1: RegExp = /ArkTS/// 方式 2:通过实例化的方式创建
const reg2: RegExp = new RegExp('ArkTS')

 1. 使用正则

  • test()方法 用来查看正则表达式与指定的字符串是否匹配
  • 如果正则表达式与指定的字符串匹配 ,返回true,否则false
console.log('web:', res.test('ArkTS')) // trueconsole.log('web:', res.test('Java')) // false

元字符

        元字符指的是在正则表达式中,有特殊含义的符号
正则表达式中绝大多数的字符都是描述他们本身,比如:
/ArkTS/ // 表示 ArkTS 这 5 个字母

 有一些具有特殊含义的字符,可以极大的提高正则表达式的灵活性和功能,比如:

/[a-z]/ // 只能是 a-z中的字母
像上面的 [ ] , - 就是元字符,接下来咱们来看看有哪些常用的元字符

边界符

        则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符

边界符说明
Λ表示匹配行首的文本(以谁开始)
$表示匹配行尾的文本(以谁结束)

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

// 元字符之边界符
// 1. 匹配开头的位置 ^
const reg = /^ArkTS/
console.log('res:', reg.test('ArkTS语法')) //true
console.log('res:', reg.test('学习ArkTS')) //false
console.log('res:', reg.test('学习ArkTS语法')) //false
console.log('res:', reg.test('Ar')) //false// 2. 匹配结束的位置 $
const reg1 = /ArkTS$/
console.log('res:', reg1.test('ArkTS语法')) //false
console.log('res:', reg1.test('学习ArkTS')) //true
console.log('res:', reg1.test('学习ArkTS语法')) //false
console.log('res:', reg1.test('Ar')) //false// 3. 精确匹配 ^ $
const reg2 = /^ArkTS$/
console.log('res:', reg2.test('ArkTS语法')) //false
console.log('res:', reg2.test('学习ArkTS')) //false
console.log('res:', reg2.test('学习ArkTS语法')) //false
console.log('res:', reg2.test('ArkTS')) //true
console.log('res:', reg2.test('Ar')) //false
console.log('res:', reg2.test('ArkTSArkTS')) //false

量词

        量词用来设定某个模式的重复次数。

量词说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复 
{n,}重复 次或更多次
{n,m}重复 到 

基于基础模版来看看具体的效果:
// 元字符之量词
// 1. * 重复次数 >= 0 次
const reg1 = /^w*$/
console.log('res:', reg1.test('')) //true
console.log('res:', reg1.test('w')) //true
console.log('res:', reg1.test('ww')) //true
console.log('res:', '-----------------------')// 2. + 重复次数 >= 1 次
const reg2 = /^w+$/
console.log('res:', reg2.test('')) //false
console.log('res:', reg2.test('w')) //true
console.log('res:', reg2.test('ww')) //true
console.log('res:', '-----------------------')// 3. ? 重复次数 0 || 1
const reg3 = /^w?$/
console.log('res:', reg3.test('')) //true
console.log('res:', reg3.test('w')) //true
console.log('res:', reg3.test('ww')) //false
console.log('res:', '-----------------------')// 4. {n} 重复 n 次
const reg4 = /^w{3}$/
console.log('res:', reg4.test('')) // false
console.log('res:', reg4.test('w')) // false
console.log('res:', reg4.test('ww')) // false
console.log('res:', reg4.test('www')) //true
console.log('res:', reg4.test('wwww')) // false
console.log('res:', '-----------------------')// 5. {n,} 重复次数 >= n
const reg5 = /^w{2,}$/
console.log('res:', reg5.test('')) //false
console.log('res:', reg5.test('w')) //false
console.log('res:', reg5.test('ww')) //true
console.log('res:', reg5.test('www')) //true
console.log('res:', '-----------------------')// 6. {n,m} n =< 重复次数 <= m
const reg6 = /^w{2,4}$/
console.log('res:', reg6.test('w')) //false
console.log('res:', reg6.test('ww')) //true
console.log('res:', reg6.test('www')) //true
console.log('res:', reg6.test('wwww')) //true
console.log('res:', reg6.test('wwwww')) //false

范围

        表示字符的范围,定义的规则限定在某个范围,比如只能是英文字母,或者数字等等,用表示范围。

范围说明
[abc]匹配包含的单个字符。也就是只有all bllc 这三个单字符返回true,可以理解为多选1
[a-z]连字符。来指定字符范围。[ a-z ]表示 a226个英文字母
[^abc]取反符。[^a-z]匹配除了小写字母以外的字符
// 元字符之范围 []// 1. [abc] 匹配包含的单个字符, 多选1
const reg1 = /^[abc]$/
console.log('res:', reg1.test('a')) //true
console.log('res:', reg1.test('b')) //true
console.log('res:', reg1.test('c')) //true
console.log('res:', reg1.test('d')) //false
console.log('res:', reg1.test('ab')) //false
console.log('-----------');// 2. [a-z] 连字符 单个
const reg2 = /^[a-z]$/
console.log('res:', reg2.test('a')) //true
console.log('res:', reg2.test('p')) //true
console.log('res:', reg2.test('0')) //false
console.log('res:', reg2.test('A')) //false
console.log('-----------');// 3. [^a-z] 取反符
const reg5 = /^[^a-z]$/
console.log('res:', reg5.test('a')) //false
console.log('res:', reg5.test('A')) //true
console.log('res:', reg5.test('么')) //true
console.log('-----------');// 4.想要包含小写字母,大写字母 ,数字
const reg3 = /^[a-zA-Z0-9]$/
console.log('res:', reg3.test('B')) //true
console.log('res:', reg3.test('b')) //true
console.log('res:', reg3.test('9')) //true
console.log('res:', reg3.test(',')) //false
console.log('-----------');

字符类

        某些常见模式的简写方式,区分字母和数字

字符类说明
\d匹配0-9之间的任一数字,相当于[0-9
\D匹配所有0-9以外的字符,相当于[^0-9
\w匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]
\W除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_
\s匹配空格(包括換行符、制表符、空格符等),相等于[\t\r\n\v\f]
\S匹配非空格的字符,相当于[^\t\r\n\v\f]

替换和修饰符 

        字符串的 replace 方法,可以结合正则进行字符串的替换。

// 检索规则:文本、正则
// 替换内容:文本
// 返回值:替换之后的结果字符串.replace(检索规则,替换内容)// 替换和修饰符const str = '欢迎大家学习ArkTS,相信大家一定能学好ArkTS!!!'// 将 ArkTS 替换位 鸿蒙开发咋写? 分别用正则和字符串作为检索规则
使用正则结合修饰符可以实现大小写区分,是否匹配所有
修饰符说明
i单词 ignore 的缩写,正则匹配时字母不区分大小写
g单词 global 的缩写,匹配所有满足正则表达式的结果
// 替换和修饰符
const str = '欢迎大家学习ArkTS,相信大家一定能学好ArkTS!!!'
// replace 返回值是替换完毕的字符串
console.log(str.replace(/arkts/, '鸿蒙开发'))
//欢迎大家学习ArkTS,相信大家一定能学好ArkTS!!!console.log(str.replace(/arkts/i, '鸿蒙开发')) 
//欢迎大家学习鸿蒙开发,相信大家一定能学好ArkTS!!!console.log(str.replace(/arkts/gi, '鸿蒙开发')) 
//欢迎大家学习鸿蒙开发,相信大家一定能学好鸿蒙开发!!!console.log(str.replace(/arkts/ig, '鸿蒙开发')) 
//欢迎大家学习鸿蒙开发,相信大家一定能学好鸿蒙开发!!!

相关文章:

鸿蒙harmonyOS:笔记 正则表达式

从给出的文本中&#xff0c;按照既定的相关规则&#xff0c;匹配出符合的数据&#xff0c;其中的规则就是正则表达式&#xff0c;使用正则表达式&#xff0c;可以使得我们用简洁的代码就能实现一定复杂的逻辑&#xff0c;比如判断一个邮箱账号是否符合正常的邮箱账号&#xff0…...

centos7.9镜像源及Python引入ssl问题处理

一、镜像源修改 1. 备份原有的镜像源配置文件 在修改之前,先备份现有的 CentOS-Base.repo 文件: sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2. 编辑镜像源配置文件 使用文本编辑器(如 nano 或 vi)打开 /etc/yum.repos.d/Ce…...

【学Rust写CAD】11 2D CAD可用rust库

使用 Rust 开发 2D CAD 应用时&#xff0c;选择合适的库是关键。以下是一些适合用于 2D CAD 开发的 Rust 库和工具&#xff0c;涵盖图形渲染、几何计算、用户界面等方面&#xff1a; 图形渲染 lyon 简介: lyon 是一个用于 2D 图形渲染的 Rust 库&#xff0c;支持路径填充、描边…...

C#中值类型与引用类型是直观使用示例

一、值类型与引用类型区分 正确理解值类型与引用类型&#xff0c;可以更好的帮助软件开发人员写出性能更好且正确稳定运行的程序&#xff1a; C#值类型与引用类型区别 区别值类型引用类型定义所有继承自【System.ValueType】类型的都是值类型&#xff08;valueType继承自Syste…...

Spring Cloud之负载均衡之LoadBalance

目录 负载均衡 问题 步骤 现象 什么是负载均衡&#xff1f; 负载均衡的一些实现 服务端负载均衡 客户端负载均衡 使用Spring Cloud LoadBalance实现负载均衡 负载均衡策略 ​编辑 ​编辑LoadBalancer原理 服务部署 准备环境和数据 服务构建打包 启动服务 上传J…...

MySQL的数据文件

MySQL的数据文件 mysql的数据都存放在datadir所指的位置&#xff0c;其中包含了mysql中创建的数据库&#xff0c;数据库中包含了表结构(frm文件)、表数据(myd文件)、表索引(myi文件) show variables like %datadir%.frm 存放和表相关的数据信息&#xff0c;主要包括表结构的定…...

【RabbitMQ高级特性】消息确认机制、持久化、发送方确认、TTL和死信队列

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【中间件】企业级中间件剖析 一、消息确认机制 消费者确认机制确保消息被正确处理后才从队列中删除。如果消费者处理失败&#xff08;如业务异常或宕机&#xff09;&#xff0c;Broker 会重新投递消息…...

C# 正则表达式

C# 正则表达式 引言 正则表达式&#xff08;Regular Expression&#xff0c;简称Regex&#xff09;是一种用于处理字符串的强大工具&#xff0c;在编程领域有着广泛的应用。C# 作为一种流行的编程语言&#xff0c;也内置了对正则表达式的支持。本文将详细介绍 C# 中的正则表达…...

第十四届蓝桥杯省赛电子类单片机学习记录(客观题)

01.一个8位的DAC转换器&#xff0c;供电电压为3.3V&#xff0c;参考电压2.4V&#xff0c;其ILSB产生的输出电压增量是&#xff08;D&#xff09;V。 A. 0.0129 B. 0.0047 C. 0.0064 D. 0.0094 解析&#xff1a; ILSB&#xff08;最低有效位&#xff09;的电压增量计算公式…...

23种设计模式-桥接(Bridge)设计模式

桥接设计模式 &#x1f6a9;什么是桥接设计模式&#xff1f;&#x1f6a9;桥接设计模式的特点&#x1f6a9;桥接设计模式的结构&#x1f6a9;桥接设计模式的优缺点&#x1f6a9;桥接设计模式的Java实现&#x1f6a9;代码总结&#x1f6a9;总结 &#x1f6a9;什么是桥接设计模式…...

AI重塑视觉艺术:DeepSeek与蓝耘通义万相2.1的图生视频奇迹

云边有个稻草人-CSDN博客 近年来&#xff0c;深度学习、计算机视觉和生成模型在多个领域取得了突破性进展。其中&#xff0c;DeepSeek与蓝耘通义万相2.1图生视频的结合为图像生成与视频生成技术提供了新的发展方向。DeepSeek作为一个图像和视频生成的工具&#xff0c;能够利用深…...

mac怎么安装pycharm?

安装步骤&#xff1a;1、打开PyCharm官网&#xff0c;在官网首页点击“下载”按钮&#xff0c;选择“MacOS”版本进行下载&#xff1b;2、双击打开安装包&#xff0c;将PyCharm拖动到应用程序文件夹中&#xff1b;3、根据提示进行安装&#xff0c;在第一次运行PyCharm时&#x…...

HTML应用指南:利用POST请求获取城市肯德基门店位置信息

随着新零售业态的快速发展&#xff0c;门店位置信息的获取变得越来越重要。作为快餐服务行业的先锋&#xff0c;肯德基不仅在服务质量上持续领先&#xff0c;还积极构建广泛的门店网络&#xff0c;以支持其不断增长的用户群体。为了更好地理解和利用这些数据&#xff0c;本篇文…...

Java主流开发框架之请求响应常用注释

1.RestController 标记一个类为 REST 控制器&#xff0c;处理 HTTP 请求并直接返回数据&#xff08;如 JSON/XML&#xff09;&#xff0c;而不是视图&#xff08;如 HTML&#xff09;&#xff0c;一般是放在类的上边 RestController public class UserController {GetMapping…...

go的参数传递都是值传递,但切片需要注意

根据之前学习python和java的经验&#xff0c;每次学习一门新语言时&#xff0c;一定要搞清楚方法的参数传递是值传递&#xff0c;引用传递还是指针传递。 主要原因就是需要知道&#xff0c;某种类型的数据传递给某个方法后&#xff0c;方法里面对它的修改是否会影响到这个数据本…...

C++菜鸟教程 - 从入门到精通 第五节

一.各种排序 接下来,让我们开始学习排序! 1.选择排序 a.原理简介 选择排序&#xff08;Selection Sort&#xff09;是一种简单直观的排序算法。它的基本思想是每次从未排序的部分中选择最小&#xff08;或最大&#xff09;的元素&#xff0c;将其放到已排序部分的末尾&#xff…...

同一个局域网的话 如何访问另一台电脑的ip

在局域网内访问另一台电脑&#xff0c;可以通过以下几种常见的方法来实现&#xff1a; ‌直接通过IP地址访问‌&#xff1a; 首先&#xff0c;确保两台电脑都连接在同一个局域网内。获取目标电脑的IP地址&#xff0c;这可以通过在目标电脑上打开命令提示符&#xff08;Windows系…...

[学习笔记]攻防世界-bug

打开场景&#xff0c;提示我们需要登陆 我们先注册一下 注册成功 我们登陆进去 我们点击Manage他提示我们admin才能进入 我们刷新抓包一下试试 Cookie里面除了PHPSESSID&#xff0c;多出来了一个user&#xff0c;看上去是md5加密的&#xff0c;我们尝试解密 这里尝试了好几个网…...

[250324] Kafka 4.0.0 版本发布:告别 ZooKeeper,拥抱 KRaft!| Wine 10.4 发布!

目录 Kafka 4.0.0 版本发布&#xff1a;告别 ZooKeeper&#xff0c;拥抱 KRaft&#xff01;Wine 10.4 发布&#xff01; Kafka 4.0.0 版本发布&#xff1a;告别 ZooKeeper&#xff0c;拥抱 KRaft&#xff01; 近日&#xff0c;Apache Kafka 4.0.0 正式发布&#xff01;这是一个…...

【赵渝强老师】达梦数据库MPP集群的架构

为了支持海量数据存储和处理等方面的需求&#xff0c;为高端数据仓库提供解决方案&#xff0c;达梦数据库提供了大规模并行处理MPP架构&#xff0c;以极低的成本代价&#xff0c;提供高性能的并行计算。通过使用MPP可以解决以下问题&#xff1a; 需要较高的系统性能支持以支持…...

JWT 鉴权常见知识点及参考答案

JWT 鉴权常见知识点及参考答案 最近在 Go Web 项目当中使用到了 JWT 进行鉴权&#xff0c;因此通过这篇文章对 JWT 的原理及相关的知识点进行总结。 文章目录 JWT 鉴权常见知识点及参考答案JWT 签名算法的详细工作流程一. 签名的生成过程二. 签名的验证过程 1. 什么是 JWT&am…...

洛谷题单入门4-P5729 【深基5.例7】工艺品制作-python

输入格式 第一行三个正整数 w,x,h。 第二行一个正整数 q。 接下来 q 行&#xff0c;每行六个整数 输出格式 输出一个整数表示答案。 三维数组直接标记 class Solution:staticmethoddef oi_input():"""从标准输入读取数据"""w, x, h map(…...

【C语言】内存函数详解

个人主页 文章目录 &#x1f3e0;一、memcpy函数1.函数形式以及功能介绍2.函数的使用3.模拟实现 &#x1f680;二、memmove函数1.函数形式以及功能介绍2.函数的使用3.模拟实现 &#x1f3a1;三、memset函数1.函数形式以及功能介绍2.函数的使用 &#x1f389;四、memcmp1.函数形…...

使用Python开发自动驾驶技术:车道线检测模型

友友们好! 我是Echo_Wish,我的的新专栏《Python进阶》以及《Python!实战!》正式启动啦!这是专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会…...

HTTP代理的全面解读:什么是HTTP代理?HTTP代理的工作原理

在互联网大潮中&#xff0c;每一个请求和返回数据的背后&#xff0c;都离不开传输协议的支持&#xff0c;而HTTP协议无疑是最熟悉的网络通信基础之一。当我们谈到HTTP代理时&#xff0c;它不仅让浏览网络变得更高效&#xff0c;也为数据采集以及全球性远程任务提供了解决方案。…...

DeepSeek底层揭秘——deepEP

1. 什么是 deepEP&#xff1f; (1) 定义 deepEP (DeepSeek EndPoint) 是 DeepSeek 开源的一款高性能、低延迟的分布式通信库&#xff0c;专为大规模深度学习训练和推理场景设计。它旨在优化分布式计算环境中的通信效率&#xff0c;特别是在节点间数据交换、梯度同步、模型分发…...

内网渗透(CSMSF) 构建内网代理的全面指南:Cobalt Strike 与 Metasploit Framework 深度解析

目录 1. Cobalt Strike 在什么情况下会构建内网代理&#xff1f; 2. Cobalt Strike 构建内网代理的主要作用和目的是什么&#xff1f; 3. Cobalt Strike 如何构建内网代理&#xff1f;需要什么条件和参数&#xff1f; 条件 步骤 参数 4. Cobalt Strike 内网代理能获取什…...

【redis】哨兵:人工恢复主节点故障和哨兵自动恢复主节点故障

文章目录 基本概念人工恢复主节点故障操作流程 哨兵自动恢复主节点故障哨兵集 Redis 的主从复制模式下&#xff0c;⼀旦主节点由于故障不能提供服务&#xff0c;需要⼈⼯进⾏主从切换&#xff0c;同时⼤量的客⼾端需要被通知切换到新的主节点上&#xff0c;对于上了⼀定规模的应…...

【Go 】异常处理

1. Go 语言错误处理基础 Go 语言尽量避免使用异常&#xff0c;推荐使用 返回错误 让调用者处理。Go 语言标准库提供 error 接口&#xff1a;type error interface {Error() string }errors.New("错误信息") 创建错误对象。 package mainimport ("errors"…...

微软纳德拉最新一期访谈

萨提亚纳德拉&#xff1a; 微软的AGI计划与量子突破| 2025.2.20 【文章核心预览&#xff1a;】 1、纳德拉回应AI价格战&#xff1a;效率提升将重塑需求&#xff0c;但关键是能否带动GDP增长至10% 2、微软AI收入130亿美元&#xff0c;4年后目标1300亿&#xff0c;但提醒"…...

WebSocket接入SSL证书

目录 碎碎念解决方法创建 HTTPS WebSocket 服务器创建系统服务启动服务 碎碎念 在访问网站时&#xff0c;使用 HTTPS 非常重要。HTTPS 协议不仅可以确保数据传输的安全性&#xff0c;还可以防止中间人攻击和数据篡改等安全问题。任何没有 SSL 证书的内容都可能会被拒绝访问。因…...

蓝桥杯——嵌入式学习日记

因为lED和LCD共用PC8~PC15引脚&#xff0c;要通过锁存&#xff08;LE&#xff09;和&#xff08;GPIOC->ODR&#xff09;来避免LED和LCD引脚冲突 修改点: main.c中&#xff0c;GPIO初始化引脚后&#xff0c;LE&#xff08;PD2引脚低电平锁存&#xff0c;退出透明模式&…...

第七课:Python基础排序算法与比较排序原理深度解析

比较排序算法是算法领域中的经典内容&#xff0c;其核心思想通过元素间的比较操作确定相对顺序。本文将深入探讨冒泡排序的优化策略、选择排序的变种实现、插入排序的典型应用场景&#xff0c;并通过统计比较次数直观展示算法效率差异。 一、冒泡排序的优化策略 传统冒泡排序存…...

项目流程中关键节点的测试类型

一、全流程测试框架图 #mermaid-svg-LmUdhLObstSpThwP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-LmUdhLObstSpThwP .error-icon{fill:#552222;}#mermaid-svg-LmUdhLObstSpThwP .error-text{fill:#552222;strok…...

EasyRTC嵌入式音视频通信SDK:WebRTC技术下的硬件与软件协同演进,开启通信新时代

在当今数字化时代&#xff0c;智能设备的普及和人们对实时通信需求的不断增长&#xff0c;推动了嵌入式音视频通信技术的快速发。EasyRTC嵌入式音视频通信SDK凭借其独特的技术特点和应用优势&#xff0c;在嵌入式设备和多平台实时通信领域脱颖而出。 1、轻量级设计与高性能 Ea…...

机器视觉工程师如何看机器视觉展会,有些机器视觉兄弟参加机器视觉展会,真的是参加了?重在参与?

作为机器视觉工程师,参加机器视觉展会不仅是了解行业前沿技术的窗口,也是拓展专业网络、寻找解决方案的重要机会。以下是结合展会信息和工程师视角的综合建议: 一、聚焦技术趋势与创新应用 参与技术论坛与研讨会 展会同期的技术论坛是获取行业洞见的核心渠道。例如: 上海展…...

重温Ubuntu 24.04 LTS

用户调整 # 创建新用户 sudo adduser newusername # 设置新用户的密码 sudo passwd newusername # 将新用户添加到 sudo 组 sudo usermod -aG sudo newusername # 修改ssh访问权限 sudo nano /etc/ssh/sshd_config # 将新用户加入&#xff0c;此时root将无法访问 AllowUsers n…...

新版 eslintrc 文件弃用 .eslintignore已弃用 替代方案

1.进入eslint.config.mjs文件 2.import { defineConfig, globalIgnores } from "eslint/config"; 引入globalIgnores 3.配置 defineConfig([ ... globalIgnores([ "config/*", ".husky", ".local", "public/*", ".…...

优化 SQL 语句方向和提升性能技巧

优化 SQL 语句是提升 MySQL 性能的关键步骤之一。通过优化 SQL 语句,可以减少查询时间、降低服务器负载、提高系统吞吐量。以下是优化 SQL 语句的方法、策略和技巧: 一、优化 SQL 语句的方法 1. 使用 EXPLAIN 分析查询 作用:查看 SQL 语句的执行计划,了解查询是如何执行的…...

数据可视化革命!「图表狐」五大行业新范式:从科研论文到商业决策的AI进化论

图表狐 - AI图表生成工具,在线数据可视化 一、学术研究&#xff1a;突破传统制图范式 案例1 基因测序热图 用户输入&#xff1a; "绘制差异表达基因热图&#xff0c;行标签为GeneA/B/C&#xff0c;列包含正常组5例、癌症组7例&#xff0c;红色标记上调基因&#xff08;f…...

Jenkins集成Trivy安全漏洞检查指南

要将Jenkins与Trivy集成以实现制品的安全漏洞检查&#xff0c;可以按照以下步骤操作&#xff1a; 安装Trivy 在Jenkins服务器或构建节点上安装Trivy # 使用包管理器&#xff08;如Debian/Ubuntu&#xff09; sudo apt-get install -y wget apt-transport-https gnupg lsb-rel…...

git使用钩子文件出现错误

git的钩子文件出现错误 问题打印&#xff1a;解决办法1.删除本地钩子文件2. 恢复commit-msg钩子3.重新提交工程 问题打印&#xff1a; 无法commit 1 个文件: .git/hooks/commit-msg: 行 1: 未预期的符号 < 附近有语法错误 .git/hooks/commit-msg: 行 1: Your browse does …...

SpringBoot 第二课(Ⅱ)配置嵌入式服务器

目录 一、封装类解读 二、注册Servlet三大组件&#xff08;Servlet、Filter、Listener&#xff09; 自定义这三个组件 WebConfig MyFilter MyListener HelloController hello1.html hello2.html 三、使用外置的Servlet容器 1.一定要确保打包方式是war包 2.将…...

Python学习笔记(6)

Python学习笔记&#xff08;6&#xff09; 第13节课 函数基础1.函数定义与调用2.函数的返回值3.局部变量与全局变量 第13节课 函数基础 对于任何一个知识点&#xff0c;必须讨论的三个问题&#xff1a; &#xff08;1&#xff09;它是啥 &#xff08;2&#xff09;为啥有它 …...

HarmonyOS Next应用架构设计与模块化开发详解

引言 在HarmonyOS Next开发中&#xff0c;合理的应用架构设计和模块化开发是构建高效、可维护应用的关键。本文将深入探讨HarmonyOS Next应用的架构设计思路&#xff0c;并通过实际代码示例展示如何实现模块化开发。 应用架构设计 HarmonyOS Next应用通常采用分层架构设计&…...

batman-adv 优化:基于信号强度(RSSI)选择链路

batman-adv 优化&#xff1a;基于信号强度&#xff08;RSSI&#xff09;选择链路 1. 背景介绍 batman-adv&#xff08;Better Approach To Mobile Ad-hoc Networking Advanced&#xff09; 是一种用于无线 Mesh 网络的路由协议。它主要基于 ETX&#xff08;Expected Transmis…...

计算机二级:函数基础题

函数基础题 第一题 rinput("请输入半径&#xff1a;") c3.1415926*r*2 print("{:.0f}".format(c))输出&#xff1a; Type Error第二题 a7 b2 print(a%2)输出 1第三题 ab4 def my_ab(ab,xy):abpow(ab,xy)print(ab,end"\n") my_ab(ab,2)prin…...

系统思考与心智模式

“问题不是出在我们做了多少&#xff0c;而是出在我们做了什么。” — 赫尔曼凯恩 “一分耕耘一分收获”&#xff0c;这似乎是我们脑海中根深蒂固的心智模式。今天&#xff0c;我在一家餐厅用餐&#xff0c;店员告诉我&#xff0c;打卡收藏可以获得一份小食。没过多久&#xf…...

高考志愿填报管理系统基于Spring Boot SSM

目录 摘要 ‌一、系统需求分析‌&#xff1a; 1.1用户主体分析 1.2 功能需求分析 1.3、非功能需求分析 二、‌技术实现‌&#xff1a; ‌三、结论‌&#xff1a; 摘要 该系统主要实现了&#xff1a;学生信息管理、院校信息查询、专业信息展示、志愿填报模拟、智能推荐管…...

[深度学习]图像分类项目-食物分类

图像分类项目-食物分类(监督学习和半监督学习) 文章目录 图像分类项目-食物分类(监督学习和半监督学习)项目介绍数据处理设定随机种子读取文件内容图像增广定义Dataset类 模型定义迁移学习 定义超参Adam和AdamW 训练过程半监督学习定义Dataset类模型定义定义超参训练过程 项目介…...