前端正则表达式完全指南:从入门到实战
文章目录
- 第一章:正则表达式基础概念
- 1.1 什么是正则表达式
- 1.2 正则表达式工作原理
- 1.3 基础示例演示
- 第二章:正则表达式核心语法
- 2.1 元字符大全表
- 2.2 量词系统详解
- 2.3 字符集合与排除
- 第三章:前端常用正则模式
- 3.1 表单验证类
- 3.1.1 邮箱验证
- 3.1.2 密码强度验证
- 3.2 URL解析类
- 第四章:JavaScript中的正则使用(2500字)
- 4.1 创建正则表达式
- 4.2 常用方法详解
- 4.2.1 test()方法
- 4.2.2 exec()方法
- 第五章:表单验证实战(3000字)
- 5.1 综合验证函数示例
- 5.2 实时验证实现
- 第八章:工具与资源推荐
- 8.1 在线测试工具
- 8.2 可视化工具
- 8.3 常用正则库
- 结语
- 附件:常用正则总结
- 一、表单验证类正则(20个)
- 1. 手机号验证
- 2. 邮箱验证
- 3. 身份证号验证
- 4. 密码强度验证
- 5. 日期格式验证
- 6. 金额格式验证
- 7. 用户名验证
- 8. 车牌号验证
- 二、字符串处理类正则(15个)
- 1. 提取数字
- 2. 提取URL参数
- 3. 去除HTML标签
- 4. 匹配中文
- 5. 千分位格式化
- 6. 首字母大写
- 三、业务场景类正则(15个)
- 1. IPv4地址验证
- 2. 十六进制颜色码
- 3. 文件路径验证
- 4. 匹配Emoji表情
- 5. 银行卡号格式化
- 四、高级技巧类正则(10个)
- 1. 密码复杂度验证
- 2. 匹配嵌套HTML标签
- 3. 驼峰转中划线
- 4. 删除代码注释
- 5. 版本号匹配
- 五、特殊场景正则(10+个)
- 1. 匹配BASE64字符串
- 2. 匹配MD5哈希值
- 3. 匹配GUID/UUID
- 4. 匹配MAC地址
- 5. 匹配ISBN书号
- 六、注意事项
第一章:正则表达式基础概念
1.1 什么是正则表达式
正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式,在前端开发中广泛应用于:
- 表单验证
- 数据清洗
- URL解析
- 文本替换
- 路由匹配
1.2 正则表达式工作原理
通过引擎实现模式匹配,JavaScript使用Perl兼容的正则表达式语法(PCRE)
1.3 基础示例演示
// 手机号验证简单示例
const reg = /^1[3-9]\d{9}$/;
console.log(reg.test('13800138000')); // true
第二章:正则表达式核心语法
2.1 元字符大全表
元字符 | 说明 |
---|---|
. | 匹配除换行外任意字符 |
\d | 数字 [0-9] |
\D | 非数字 |
\w | 单词字符 [a-zA-Z0-9_] |
\s | 空白符 |
2.2 量词系统详解
// 常见量词使用示例
const examples = [{ pattern: /a?/, desc: "0或1个a" }, // 0 or 1{ pattern: /a+/, desc: "1个或多个a" }, // 1+{ pattern: /a{2,5}/, desc: "2到5个a" }, // 自定义范围
];
2.3 字符集合与排除
// 匹配元音字母的正确方式
const vowelReg = /[aeiou]/i;
// 排除数字的写法
const excludeNumber = /[^0-9]/;
第三章:前端常用正则模式
3.1 表单验证类
3.1.1 邮箱验证
// 综合邮箱验证正则
const emailReg = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
3.1.2 密码强度验证
// 包含大小写字母、数字、特殊字符,至少8位
const strongPassword = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
3.2 URL解析类
// 分解URL各组成部分
const urlRegExp = /^(https?:\/\/)?([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?$/;
第四章:JavaScript中的正则使用(2500字)
4.1 创建正则表达式
// 两种创建方式对比
const reg1 = /pattern/;
const reg2 = new RegExp('pattern');
4.2 常用方法详解
4.2.1 test()方法
// 快速验证格式
const isNumber = /\d+/;
console.log(isNumber.test('abc123')); // true
4.2.2 exec()方法
// 提取匹配结果
const result = /(\d{4})-(\d{2})/.exec('2023-08');
console.log(result[1]); // 2023
第五章:表单验证实战(3000字)
5.1 综合验证函数示例
function validateForm(data) {const rules = {username: /^[a-zA-Z]\w{5,17}$/,idCard: /(^\d{15}$)|(^\d{17}(\d|X|x)$)/,mobile: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/,};return Object.keys(data).every(key => rules[key].test(data[key]));
}
5.2 实时验证实现
<!-- HTML5结合正则验证 -->
<input type="text" pattern="\d{4}-\d{2}-\d{2}" title="请输入YYYY-MM-DD格式日期"
>
第八章:工具与资源推荐
8.1 在线测试工具
- RegExr:实时高亮测试
- Regex101:多语言支持
8.2 可视化工具
- Regexper:生成正则表达式图解
8.3 常用正则库
- validator.js
- lodash中的正则工具方法
结语
正则表达式是前端开发者必须掌握的核心技能之一。本文从基础到高级应用全面覆盖,建议收藏作为开发手册使用。后续将持续更新实际开发中的最佳实践。
附件:常用正则总结
以下是一份包含 50+ 前端常用正则表达式 的合集大全,涵盖表单验证、字符串处理、业务场景等高频需求场景。每个正则表达式均附带说明和代码示例,可直接在项目中参考使用:
一、表单验证类正则(20个)
1. 手机号验证
// 中国手机号(宽松模式)
/^(?:(?:\+|00)86)?1[3-9]\d{9}$/ // 严格模式(2023年最新号段)
/^(?:(?:\+|00)86)?1(?:3[0-9]|4[0145689]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
2. 邮箱验证
// 通用邮箱格式
/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ // 企业邮箱限制(示例:禁止使用某些域名)
/^[\w-]+@(?!qq\.com|163\.com)[a-zA-Z0-9-]+\.[a-zA-Z]{2,}$/
3. 身份证号验证
// 15位或18位身份证(包含校验位)
/^(\d{15}$|^\d{17})([0-9]|X|x)$/
4. 密码强度验证
// 至少8位,包含大小写字母和数字
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/// 包含特殊字符的强密码(至少10位)
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{10,}$/
5. 日期格式验证
// YYYY-MM-DD(支持1900-2099年)
/^(19|20)\d{2}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/// DD/MM/YYYY(带闰年校验)
/(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[0-2])\/(19|20)\d{2}/
6. 金额格式验证
// 标准金额(支持千分位和两位小数)
/^-?\d{1,3}(,\d{3})*(\.\d{1,2})?$/// 简单金额(无千分位)
/^\d+(\.\d{1,2})?$/
7. 用户名验证
// 中文姓名(2-4个汉字)
/^[\u4e00-\u9fa5]{2,4}$/// 英文用户名(4-16位字母数字+下划线)
/^[a-zA-Z0-9_]{4,16}$/
8. 车牌号验证
// 中国车牌号(新能源+传统)
/^[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4,5}[A-HJ-NP-Z0-9挂学警港澳]$/
二、字符串处理类正则(15个)
1. 提取数字
// 提取字符串中所有整数
/\d+/g // 提取浮点数(含负数)
/-?\d+(?:\.\d+)?/g
2. 提取URL参数
// 获取URL查询参数
/([^?=&]+)=([^&]*)/g
3. 去除HTML标签
// 基础去标签
/<[^>]+>/g // 保留指定标签(如保留<p>和<a>)
/<(?!\/?(p|a)(\s|>))[^>]+>/gi
4. 匹配中文
// 纯中文字符串
/^[\u4e00-\u9fa5]+$/ // 包含中文
/[\u4e00-\u9fa5]/
5. 千分位格式化
// 数字添加千分位(如 1234567 → 1,234,567)
/(\d)(?=(\d{3})+(?!\d))/g
6. 首字母大写
// 将字符串中每个单词首字母大写
/\b\w+\b/g
// 配合replace方法:str.replace(regex, word => word[0].toUpperCase() + word.slice(1))
三、业务场景类正则(15个)
1. IPv4地址验证
/^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}$/
2. 十六进制颜色码
// 支持 #RGB 和 #RRGGBB
/^#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{6})$/
3. 文件路径验证
// Windows文件路径(含扩展名)
/^[a-zA-Z]:\\[^\\/:*?"<>|]+\.[a-zA-Z]+$/// Unix/Linux路径
/^\/(?:[^\/]+\/)*[^\/]+(?:\.\w+)?$/
4. 匹配Emoji表情
// Unicode Emoji范围
/\p{Emoji}/gu
5. 银行卡号格式化
// 每4位加空格(信用卡格式)
/(\d{4})(?=\d)/g
// 使用:'6228480402564890018'.replace(regex, '$1 ')
四、高级技巧类正则(10个)
1. 密码复杂度验证
// 必须包含大小写、数字、特殊字符且长度≥10
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*]).{10,}$/
2. 匹配嵌套HTML标签
// 匹配<div>标签及其内容(简单场景)
/<div\b[^>]*>([\s\S]*?)<\/div>/gi
3. 驼峰转中划线
// 将驼峰式转为kebab-case(如 myVar → my-var)
/([a-z])([A-Z])/g
// 使用:str.replace(regex, '$1-$2').toLowerCase()
4. 删除代码注释
// 删除JavaScript单行与多行注释
/(\/\/.*)|(\/\*[\s\S]*?\*\/)/g
5. 版本号匹配
// Semantic Versioning(语义化版本)
/^(\d+\.){2}\d+(?:-[\w.]+)?(?:\+[\w.]+)?$/
五、特殊场景正则(10+个)
1. 匹配BASE64字符串
/^data:([a-zA-Z]+\/[a-zA-Z]+);base64,([a-zA-Z0-9+/=]+)$/
2. 匹配MD5哈希值
/^[a-fA-F0-9]{32}$/
3. 匹配GUID/UUID
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/
4. 匹配MAC地址
/^([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}$/
5. 匹配ISBN书号
// ISBN-10或ISBN-13
/(ISBN)?(-)?(\d{3})(-)?(\d{1,5})(-)?(\d{3})(-)?(\d{5})(-)?(\d{1})/
六、注意事项
- 正则表达式需要根据具体业务需求调整
- 注意转义字符处理(如
.
需写成\.
) - 性能优化:避免过度复杂的正则
- 兼容性处理:部分新特性(如命名捕获组)需考虑浏览器支持
- 安全性:避免正则表达式拒绝服务攻击(ReDoS)
完整代码示例可参考以下GitHub仓库:
https://github.com/example/regex-collection
在线测试工具推荐:
- Regex101
- RegExr
可根据实际需求组合修改这些正则表达式,建议先使用在线工具验证匹配效果。
相关文章:
前端正则表达式完全指南:从入门到实战
文章目录 第一章:正则表达式基础概念1.1 什么是正则表达式1.2 正则表达式工作原理1.3 基础示例演示 第二章:正则表达式核心语法2.1 元字符大全表2.2 量词系统详解2.3 字符集合与排除 第三章:前端常用正则模式3.1 表单验证类3.1.1 邮箱验证3.1…...
【愚公系列】《Python网络爬虫从入门到精通》038-SQLite数据库
标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...
npx degit 问题:could not fetch remote...
问题与处理策略 问题描述 npx degit dream-num/univer-sheet-start-kit univer-sheet-start-kit执行上述指令,报如下错误 ! could not fetch remote https://github.com/dream-num/univer-sheet-start-kit ! could not find commit hash for HEAD# 翻译无法获取远…...
空投与转账:Solana代币核心概念及代码实战精解
目录 1.空投和转账概念 1.1.空投(Airdrop) 1.2.转账(Transfer) 2.Solana 代币创建与空投核心代码总结 2.1. 代币创建核心代码 2.2. 添加元数据核心代码 2.3. 空投代币核心代码 3.效果图展示 1.空投和转账概念 1.1.空投(Airdrop) 创建新代币: 空投是铸造(Mint)新代币…...
Rust~tokio的AsyncRead
AsyncRead trait 定义 介绍 /// This trait is analogous to the [std::io::Read] trait, but integrates with /// the asynchronous task system. In particular, the [poll_read] method, /// unlike [Read::read], will automatically queue the current task for wakeup…...
NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)
B2093 查找特定的值 - 洛谷 题⽬要求下标是从0开始的,和数组的下标是吻合的,存放数据应该从下标0开始n的取值范围是1~10000数组中存放的值的绝对值不超10000,说明int类型就⾜够了找到了输出下标,找不到要输出-1,这⼀点…...
Linux下的网络通信编程
在不同主机之间,进行进程间的通信。 1解决主机之间硬件的互通 2.解决主机之间软件的互通. 3.IP地址:来区分不同的主机(软件地址) 4.MAC地址:硬件地址 5.端口号:区分同一主机上的不同应用进程 网络协议…...
【JavaWeb13】了解ES6的核心特性,对于提高JavaScript编程效率有哪些潜在影响?
文章目录 🌍一. ES6 新特性❄️1. ES6 基本介绍❄️2. 基本使用2.1 let 声明变量2.2 const 声明常量/只读变量2.3 解构赋值2.4 模板字符串2.5 对象拓展运算符2.6 箭头函数 🌍二. Promise❄️1. 基本使用❄️2. 如何解决回调地狱问题2.1回调地狱问题2.2 使…...
每日一题之屏蔽信号
问题描述 在与三体文明的对抗中,人类联邦探测到了两个重要的信号源,分别用非负整数 aa 和 bb 来表示。 为了抵御三体舰队的入侵,科学家们制定出一项关键策略——屏蔽信号,目标是要让 aa、bb 这两个信号源其中之一的数值归零。 在…...
TCP如何保证可靠性
目录 回顾TCP协议TCP报文头部 TCP如何保证可靠性?校验和序列号确认应答机制(ACK)超时重传机制连接管理机制(三次握手和四次挥手)流量控制滑动窗口滑动机制 拥塞控制慢开始 & 拥塞避免快重传 & 快恢复 回顾TCP协…...
HTTP协议深度解析:从Tomcat到HTTPS的全方位探索
目录 引言 一、Tomcat部署与Servlet容器 1.1 Tomcat部署流程 1.2 Tomcat与Servlet 二、HTTP协议的基础构成 2.1 URL 2.2 HTTP请求与响应 2.3 HTTP状态码 三、计算机网络与数据传输 3.1 局域网与路由器 3.2 IP地址与MAC地址 3.3 域名与DNS 四、HTTPS协议与数据加密…...
互联网医院实时数据监测智能分析系统设计概述(下)
阶段4:可视化仪表盘与用户界面开发 在这一阶段,我们将使用 Plotly Dash 来设计一个实时预测仪表盘,用于展示疾病传播趋势、医生评估信息等。我们还将实现实时数据更新与展示,确保数据能够及时反映系统中的变化。 1. 设计实时预测仪表盘 步骤 1:安装 Dash 依赖 首先,确…...
性能测试测试策略制定|知名软件测评机构经验分享
随着互联网产品的普及,产品面对的用户量级也越来越大,能抗住指数级增长的瞬间访问量以及交易量是保障购物体验是否顺畅的至关重要的一环,而我们的性能测试恰恰也是为此而存在的。 性能测试是什么呢?性能测试要怎么测呢?…...
【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案
作者:Odoo技术开发/资深信息化负责人 日期:2025年2月28日 一、部署背景与目标 DeepSeek R1作为国产大语言模型的代表,凭借其强化学习驱动的推理能力,在复杂任务(如数学问题、编程逻辑)中表现优异。本地化部…...
蓝桥真题讲解
温馨提示:本系列文章非所有题都对对b组适用,b组的小伙伴请挑题看! 目录 第一题 题目链接 题目解析 代码原理 代码编写 本题总结 第二题 题目链接 题目解析 代码原理 代码编写 本题总结 第三题 题目链接 题目解析 代码原理 …...
javaweb将上传的图片保存在项目文件webapp下的upload文件夹下
前端HTML表单 (upload.html) 首先,创建一个HTML页面,允许用户选择并上传图片。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>图片上传</title> </head> <…...
北京大学DeepSeek与AIGC应用(PDF无套路下载)
近年来,人工智能技术飞速发展,尤其是大模型和生成式AI(AIGC)的突破,正在重塑各行各业的生产方式与创新路径。 北京大学联合DeepSeek团队推出的内部研讨教程《DeepSeek与AIGC应用》,以通俗易懂的方式系统解…...
测量海拔以及两点间路程(十六)
一、DigitalEarthView.cpp void CDigitalEarthView::OnCheckCheliang() {isTestJu = !isTestJu;mOSG->isTestJu(isTestJu); } 二、OSGObject.cpp void COSGObject::isTestJu(bool isTest) {theApp.bNeedModify = TRUE;while(!theApp.bCanModify)Sleep(1);if(isTest){eh-&…...
Flutter状态管理框架GetX最新版详解与实践指南
一、GetX框架概述 GetX是Flutter生态中轻量级、高性能的全能开发框架,集成了状态管理、路由导航、依赖注入等核心功能,同时提供国际化、主题切换等实用工具。其优势在于代码简洁性(减少模板代码约70%)和高性能(基于观…...
8. 示例:对32位数据总线实现位宽和值域覆盖
文章目录 前言示例一:示例二:示例三:仿真与覆盖率分析覆盖点详细说明覆盖率提升技巧常见错误排查 示例四:仿真步骤 前言 针对32位数据总线实现位宽和值域的覆盖,并且能够用xrun运行,查看日志和波形。cover…...
第6篇:面向对象编程重构系统
一、OOP重构目标 数据封装:隐藏实现细节接口抽象:规范操作入口资源自治:实现自管理生命周期扩展基础:预留多态支持接口二、完全面向对象实现(完整代码) #include <iostream> #include <Windows.h> #include <li...
CTF-web: Rust 的过程宏
Rust 的过程宏(Procedural Macros)是一种强大的元编程工具,允许你在编译时对代码进行操作和生成。与属性宏和派生宏不同,过程宏可以接收并处理任意 Rust 代码,生成新的代码片段。这里有一个简单的例子来说明 Rust 的过…...
【Kubernetes】API server 限流 之 maxinflight.go
这个文件实现了一个基于信号量(Channel)的简单限流器。 基础知识 总共有四种channel 带缓冲的channel nonMutatingChan、mutatingChan 都是带缓冲的channel ,这类channel 的特点是: 这允许最多 mutatingLimit /nonMutatingLimit 个请求同时获取令牌并执…...
phpstudy安装教程dvwa靶场搭建教程
GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA) Dvwa下载地址 Windows版phpstudy下载 - 小皮面板(phpstudy) 小皮下载地址 1选择windows 版本,点击立即下载 下载完成,进行解压,注意不要有中文路径 点击.exe文件进行安装…...
React核心知识及使用场景
React是一个用于构建用户界面的JavaScript库,尤其适合构建单页面应用(SPA)。它基于组件化的开发思想,主要特点是通过虚拟DOM来提高渲染效率。以下是React的核心知识和使用场景: 一. 核心知识 组件化: 类组件和函数组件:React的组件分为类组件和函数组件。类组件通过继承…...
杰发科技AC7801——滴答定时器获取时间戳
1. 滴答定时器 杰发科技7801内部有一个滴答定时器,该定时器是M0核自带的,因此可以直接用该定时器来获取时间戳。 同样,7803也可以使用该方式获取时间戳。 2. 滴答定时器原理 SysTick是一个24位的递减计数器,它从预设的重装载值…...
「爬虫实战分享:如何高效爬取某汽车官方销售排行榜」
本文目录 💖前言一、💫代理IP的作用二、💫爬虫中的挑战1.代理IP的质量和稳定性2.IP封禁问题3. 反爬虫技术的升级 三、💫亮数据动态代理:数据采集的可靠伙伴1、真实体验 四、💫爬虫实战:使用亮数…...
AI数据分析:用DeepSeek做数据清洗
在当今数据驱动的时代,数据分析已成为企业和个人决策的重要工具。随着人工智能技术的快速发展,AI 驱动的数据分析工具正在改变我们处理和分析数据的方式。本文将着重介绍如何使用 DeepSeek 进行数据清洗。 数据清洗是数据分析的基础,其目的是…...
使用串口工具实现tcp与udp收发
1、使用串口工具实现tcp收发 2、使用串口工具实现udp收发...
onlyoffice 服务搭建及配置 - 前端 office 文件预览解决方案
文章目录 1. 安装1.1 环境要求1.2 安装步骤1.3 常用配置1.3.1 安装目录/config/default.json1.3.2 安装目录/config/local.json1.3.3 安装目录/nginx/conf1.3.4 配置生效 2. 网站嵌入2.1 代码示例2.2 最终效果 3. 常见问题3.1 数据库配置错误导致加载不出来 1. 安装 写文章时使…...
PostgreSQL的基本使用
参考视频:零基础入门PostgreSQL教程 文章目录 一、PostgreSQL是什么?二、基本使用1.下载2.操作 一、PostgreSQL是什么? PostgreSQL 是一个免费的对象-关系数据库服务器,在灵活的BSD许可证下发行。 二、基本使用 1.下载 2.操作 …...
【AI深度学习基础】NumPy完全指南入门篇:核心功能与工程实践(含完整代码)
NumPy系列文章 入门篇进阶篇终极篇 一、NumPy简介 NumPy(Numerical Python)是Python中科学计算的核心库,提供了高性能的多维数组对象和各种用于数组操作的函数。它是Python数据分析和科学计算的基础,被广泛应用于机器学习、数据…...
武汉大学生命科学学院与谱度众合(武汉)生命科技有限公司举行校企联培座谈会
2025年2月21日下午,武汉大学生命科学学院与谱度众合(武汉)生命科技有限公司(以下简称“谱度众合”)在学院学术厅举行校企联培专业学位研究生合作交流会。武汉大学生命科学学院副院长刘星教授、生命科学学院周宇教授、产…...
小程序画带圆角的圆形进度条
老的API <canvas id"{{canvasId}}" canvas-id"{{canvasId}}" style"opacity: 0;" class"canvas"/> startDraw() {const { canvasId } this.dataconst query this.createSelectorQuery()query.select(#${canvasId}).bounding…...
MR-图解
1、不是所有的MR都适合combine 1.1、map端统计出了不同班级的每个学生的年龄 如:(class1, 14)表示class1班的一个学生的年龄是14岁。 第一个map任务: class1 14 class1 15 class1 16 class2 10第二个map任务: class1 16 class2 10 class…...
[深度学习] 大模型学习2-提示词工程指北
在文章大语言模型基础知识里,提示词工程(Prompt Engineering)作为大语言模型(Large Language Model,LLM)应用构建的一种方式被简要提及,本文将着重对该技术进行介绍。 提示词工程就是在和LLM聊…...
VSCode离线安装插件
最近在其他电脑设备上部署vscode环境出现问题,在vscode里直接安装插件失败,软件提示如下:(此前已经用此方法安装过中文插件) 这里我们选择手动下载,会自动在浏览器中跳转到该插件的下载链接并自动下载插件&…...
python-leetcode-删除并获得点数
740. 删除并获得点数 - 力扣(LeetCode) 解法 1:动态规划(O(n) 时间,O(n) 空间) class Solution:def deleteAndEarn(self, nums: List[int]) -> int:if not nums:return 0# 统计每个数的贡献points Cou…...
Spring Boot 流式响应豆包大模型对话能力
当Spring Boot遇见豆包大模型:一场流式响应的"魔法吟唱"仪式 一、前言:关于流式响应的奇妙比喻 想象一下你正在火锅店点单,如果服务员必须等所有菜品都备齐才一次性端上来,你可能会饿得把菜单都啃了。而流式响应就像贴…...
STM32G431RBT6——(1)芯片命名规则
相信很多新手入门STM学的芯片,是STM32F103C8T6,假如刷到个项目换个芯片类型,就会感到好难啊,看不懂,就无从下手,不知所云。其实没什么难的,对于一个个不同的芯片的区别,就像是学习包…...
React进阶之前端业务Hooks库(三)
前端业务Hooks库 hooks 方法localStorage和sessionStorager区别packages/hooks/src/useLocalStorageStatepackages/hooks/src/useSessionStorageStatepackages/hooks/src/createUseStorageState模块Hooks在不同场景下的应用Hooks陷阱前提例子useLatest和useMemoizedFn其他功能的…...
卷积神经网络梯度下降方向与参数更新方向的一致性论述
梯度下降是一种常用的优化算法,用于最小化损失函数,在机器学习和深度学习领域有着广泛的应用。分别对梯度下降、梯度方向以及参数更新采用负梯度方向的原因进行论述。 1.梯度下降 它的基本思想是通过迭代的方式来更新模型的参数,使得损失函数…...
python 视频网站爬虫教程,爬虫入门教程(付安装包)
文章目录 前言1. 环境准备Python安装选择Python开发环境安装必要库 2. 了解目标网站3. 发送请求获取页面内容4. 解析页面内容,提取视频链接5. 下载视频6. 处理反爬机制7. 完整代码示例注意事项 前言 以下为你生成一份 Python 视频网站爬虫教程,以爬取简…...
Is Noise Conditioning Necessary for Denoising Generative Models?论文阅读笔记
很吸引人的一个标题,很吸引人的一个作者,来读一读明神的新作,讲的是怎么把去噪领域的一些有意思的思想,特别是blind denoising和noise-level estimation的思想,应用到denoising diffusion模型中,从而去掉de…...
BIO、NIO、AIO、Netty从简单理解到使用
Java编程中BIO、NIO、AIO是三种不同的I/O(输入/输出)模型,它们代表了不同的I/O处理方式。 Netty就是基于Java的NIO(New Input/Output)类库编写的一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可…...
最新版 (持续更新)docker 加速源 linux yum 源
收藏两个网站,配置docker 加速源与yum 源。 docker 加速源链接 Docker/DockerHub 国内镜像源/加速列表(2月25日更新-长期维护)-腾讯云开发者社区-腾讯云https://cloud.tencent.com/developer/article/2485043 yum 源 CentOS7停服后yum源配置…...
MapReduce编程模型
MapReduce编程模型 理解MapReduce编程模型独立完成一个MapReduce程序并运行成功了解MapReduce工程流程掌握并描述出shuffle全过程(面试)独立编写课堂及作业中的MR程序理解并解决数据倾斜 1. MapReduce编程模型 Hadoop架构图 Hadoop由HDFS分布式存储、M…...
开源|Documind协同文档(接入deepseek-r1、支持实时聊天)
Documind 🚀 项目介绍 Documind 一个支持实时聊天和接入deepseek-r1模型AI助手的协同文档编辑项目 前端:NextJS React TailwindCSS ShadcnUl Tiptap Zustand后端:NextJS Convex Liveblocks Clerk项目预览:Documind 预览…...
【问题记录】Go项目Docker中的consul访问主机8080端口被拒绝
【问题记录】Go项目Docker中的consul访问主机8080端口被拒绝 问题展示解决办法 问题展示 在使用docker中的consul服务的时候,通过命令行注册相应的服务(比如cloudwego项目的demo_proto以及user服务)失败。 解决办法 经过分析,是…...
`maturin`是什么:matu rus in python
maturin是什么 maturin 是一个用于构建和发布 Rust 编写的 Python 绑定库的工具。它简化了将 Rust 代码集成到 Python 项目中的过程,支持创建不同类型的 Python 包,如纯 Python 包、包含 **Rust (系统编程语言)**扩展模块的包等。以下为你详细介绍 maturin 的相关信息并举例…...