3.正则表达式
3.1什么是正则表达式
●正则表达式( Regular Expression) 是用于匹配字符串中字符组合的模式。在JavaScript中, 正则表达式也是对象
●通常用来查找、替换那些符合正则表达式的文本,许多语言都支持正则表达式
●正则表达式在JavaScript中的使用场景:
➢例如验证表单:用户名表单只能输入英文字母、数字或者下划线,昵称输入框中可以输入中文(匹配)
➢比如用户名:/ ^[a-z0-9_ -]{3,16}$/
➢过滤掉页面内容中的一-些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等。
3.2语法
JavaScript中定义正则表达式的语法有两种,比较简单的一种方法:
1.定义正则表达式语法:
const变量名= /表达式/
➢其中/ /是正则表达式字面量
●比如:
const reg = /前端/
2.判断是否有符合规则的字符串:
test() 方法 用来查看正则表达式与指定的字符串是否匹配
●语法:
reg.test(被检测的字符串)
●比如:

●如果正则表达式与指定的字符串匹配,返回true,否则false
3.检索(查找)符合规则的字符串:
exec() 方法 在一个指定字符串中执行一个搜索匹配
●语法:
regObj.exec(被检测字符串)
●比如:

●如果匹配成功,exec() 方法返回一个数组,否则返回null
3.3元字符
●普通字符:
大多数的字符仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。
也就是说普通字符只能够匹配字符串中与它们相同的字符。
●元字符(特殊字符)
是一些具有特殊含义的字符,可以极大提高灵活性和强大的匹配功能
➢比如,规定用户只能输入英文26个英文字母,普通字符的话abcdefghijklm…
➢但是换成元字符写法: [a-z]
●参考文档:
MDN:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions
正则测试工具: http://tool.oschina.net/regex
1.边界符
●正则表达式中的边界符 (位置符) 用来提示字符所处的位置,主要有两个字符

如果^和 $ 在一起,表示必须是精确匹配。
【例如】
console.log(/^哈/.test('哈')) //true
console.log(/^哈/.test('2哈')) //false
console.log(/^哈$/.test('哈')) //true
console.log(/^哈$/.test('哈哈')) //false
2.量词
量词用来设定某个模式出现的次数

注意:逗号左右两侧千万不要出现空格
3.字符类:
(1) [ ] 匹配字符集合
●后面的字符串只要包含abc中任意一个字符,都返回true


(2) [ ] 里面加上-连字符
●使用连字符表示一个范围
console.log(/^[a-z]$/.test('c')) // true
●比如:
➢[a-z] 表示a到z 26个英文字母都可以
➢[a-zA-Z] 表示大小写都可以
➢[0-9] 表示0~9的数字都可以
●比如:
腾讯QQ号: ^[1-9][0-9]{4,}$ (腾讯QQ号从10000开始)
(3) [ ] 里面加上^取反符号
●比如:
➢[^a-z] 匹配除了小写字母以外的字符
➢注意要写到中括号里面
(4) . 匹配除换行符之外的任何单个字符
(5)预定义:指的是某些常见模式的简写方式。

3.4修饰符
●修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等
●语法:
/表达式/修饰符
➢i是单词ignore的缩写,正则匹配时字母不区分大小写
➢g是单词global的缩写,匹配所有满足正则表达式的结果
console.log(/a/i.test('a')) // true
console.log(/a/i.test('A')) // true
●替换replace替换
●语法:
字符串.replace(/正则表达式/,'替换的文本')
相关文章:
3.正则表达式
3.1什么是正则表达式 ●正则表达式( Regular Expression) 是用于匹配字符串中字符组合的模式。在JavaScript中, 正则表达式也是对象 ●通常用来查找、替换那些符合正则表达式的文本,许多语言都支持正则表达式 ●正则表达式在JavaScript中的使用场景: ➢…...
【学习FreeRTOS】第3章——FreeRTOS移植及配置文件
1.FreeRTOS源码简介 【一级目录:/】以下FreeRTOS的源码,其中,FreeRTOS文件夹最为重要,代笔FreeRTOS内核 【二级目录:/FreeRTOS】以下为FreeRTOS文件夹的内容,比较重要的有Demo文件夹和Source文件夹 【三级…...
Java算法_ LRU 缓存(LeetCode_Hot100)
题目描述:请你设计并实现一个满足 LRU (最近最少使用) 缓存 约束的数据结构。 获得更多?算法思路:代码文档,算法解析的私得。 运行效果 完整代码 import java.util.HashMap; import java.util.Map;/*** 2 * Author: L…...
Hugging Face 的文本生成和大语言模型的开源生态
[更新于 2023 年 7 月 23 日: 添加 Llama 2。] 文本生成和对话技术已经出现多年了。早期的挑战在于通过设置参数和分辨偏差,同时控制好文本忠实性和多样性。更忠实的输出一般更缺少创造性,并且和原始训练数据更加接近,也更不像人话。最近的研…...
Docker Compose用法详解
文章目录 Docker Compose是什么安装Docker ComposeCompose文件编写使用Docker Compose部署-管理应用 Docker Compose是什么 Docker Compose是一个用于定义和运行多容器Docker应用程序的python工具。它允许您使用一个单独的配置文件来定义和配置多个相关容器的服务,…...
分布式链路追踪概述
分布式链路追踪概述 文章目录 分布式链路追踪概述1.分布式链路追踪概述1.1.什么是 Tracing1.2.为什么需要Distributed Tracing 2.Google Dapper2.1.Dapper的分布式跟踪2.1.1.跟踪树和span2.1.2.Annotation2.1.3.采样率 3.OpenTracing3.1.发展历史3.2.数据模型 4.java探针技术-j…...
css中的var函数
css中的var函数 假设我们在css文件存在多个相同颜色值,当css文件越来越大的时候,想要改颜色就要手动在每个旧颜色上修改,这样维护工作非常难进行。 但是我们可以使用变量来存储值,这样可以在整个css样式表中重复使用,…...
第五次作业 运维高级 构建 LVS-DR 集群和配置nginx负载均衡
1、基于 CentOS 7 构建 LVS-DR 群集。 LVS-DR模式工作原理 首先,来自客户端计算机CIP的请求被发送到Director的VIP。然后Director使用相同的VIP目的IP地址将请求发送到集群节点或真实服务器。然后,集群某个节点将回复该数据包,并将该数据包…...
neo4j电影库-关系查询
关系类型数量源数据目标数据属性ACTED_IN172演员电影roles(角色扮演)属性,属性值为数组DIRECTED44导演电影无PRODUCED15制片商电影无WROTE10作家电影无FOLLOWS3影评人影评人无REVIEWED9影评人电影summary(影评摘要)和 …...
2020/10-2023/7 Notes
2020/10-2023/7 Notes 1.Unity WebGL 字体 动态字体 2.Path.Combine 3.播放Unity WebGL构建包 Vistual Studio Code->Extensions->Live Server 4.Cloud Compare laszip.net RenderDoc Mike Zero Ras Mapper HDF Viewer 5.使Unity支持GLSL Project->添加命令行参数-&g…...
在UOS系统中管理ORACLE数据库
在明确了“数字中国”建设战略后。自主创新与国产化已成为我国实现科技强国、经济强国的发展趋势与行业共识。 即信息技术应用创新产业,简称“信创”。 而现有的国产操作系统,虽然已日趋成熟,但因为很多应用软件由国外垄断,因此…...
以http_proxy和ajp_proxy方式整合apache和tomcat(动静分离)
注意:http_proxy和ajp_proxy的稳定性不如mod_jk 一.http_proxy方式 1.下载mod_proxy_html.x86_64 2.在apache下创建http_proxy.conf文件(或者直接写到conf/httpd.conf文件最后) 3.查看server.xml文件 到tomcat的安装目录下的conf/serve…...
【pinia】Pinia入门和基本使用:
文章目录 一、 什么是pinia二、 创建空Vue项目并安装Pinia1. 创建空Vue项目2. 安装Pinia并注册 三、 实现counter四、 实现getters五、 异步action六、 storeToRefs保持响应式解构七、基本使用:【1】main.js【2】store》index.js【3】member.ts 一、 什么是pinia P…...
Linux 文件系统(一)系统目录
系统目录 基本概念分区划分目录划分 基本概念 虽然Linux有很多不同的发行版,但是其基本目录结构都是类似的,因此只要了解一个发行版基本足矣。 分区划分 系统默认 大致有以下几种分区 /(根目录):该分区包含了操作系…...
『CV学习笔记』Opencv和PIL Image以及base64编码互相转化
Opencv和PIL Image以及base64编码互相转化 文章目录 一. opencv&PIL.Image&Skimage1.1. opencv-python读取透明图片(带alpha通道)1.2. opencv、PIL.Image、Skimage读取的彩色图片维度区别1.3. opencv、PIL.Image转换二. base64和cv2 imge互相转换三. base64和PIL imge互…...
行业追踪,2023-08-07
自动复盘 2023-08-07 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…...
CSRF 攻击和 XSS 攻击分别代表什么?如何防范?
一:PHP 1. CSRF 攻击和 XSS 攻击分别代表什么? 1.CSRF攻击 1.概念: CSRF(Cross-site request forgery)跨站请求伪造,用户通过跨站请求,以合法身份做非法的事情 2.原理: 1.登录受信任…...
RabbitMQ: 详解、使用教程和示例
RabbitMQ: 详解、使用教程和示例 什么是 RabbitMQ? RabbitMQ 是一个开源的消息代理(Message Broker)软件,它实现了高级消息队列协议(AMQP),用于在应用程序之间进行异步消息传递。它允许应用程…...
redis NOAUTH Authentication required 可能不是密码问题
开发环境 springboot 2.4.3 spring-boot-starter-data-redis 2.4.3 redis 4.0 lettuce 6.0.2 背景 多环境(test,pre,prd)部署,在测试环境测试通过之后部署预发环境的时候,服务一直报错,提示【i…...
动态规划解0-1背包问题(超详细理解)
前言: 好久没写0-1背包问题了,都有些不记得了,写这篇文章给自己以后做简单参考,如果能同时帮到读者,不胜荣幸。 正文 0-1背包问题是这样的一个问题,假设有一个背包,其容量为 capacity 。在地…...
ML307R编译环境搭建:从官方文档到实战避坑指南
1. 为什么需要这份实战指南? 第一次接触ML307R开发板时,我按照官方文档搭建编译环境,结果花了整整两天时间才搞定。官方文档虽然简洁,但很多关键细节都没提到,比如Python版本选择、环境变量配置、依赖库安装等。这些问…...
如何用SunnyUI快速构建现代化WinForm应用:终极C界面开发指南
如何用SunnyUI快速构建现代化WinForm应用:终极C#界面开发指南 【免费下载链接】SunnyUI SunnyUI.NET 是基于.NET Framework 4.0、.NET6、.NET8、.NET9 框架的 C# WinForm UI、开源控件库、工具类库、扩展类库、多页面开发框架。 项目地址: https://gitcode.com/gh…...
终极Windows快捷键侦探指南:3分钟揪出隐藏的热键占用者
终极Windows快捷键侦探指南:3分钟揪出隐藏的热键占用者 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否曾…...
鸿蒙hdc命令
1、安装的所有应用 hdc shell bm dump -a com.example.kikakeyboard com.ohos.UserFile.ExternalFileManager com.ohos.adminprovisioning com.ohos.amsdialog com.ohos.backgroundtaskmgr.resources com.ohos.calendardata com.ohos.callui com.ohos.camera com.ohos.certmana…...
UDS诊断--0x27 SecurityAccess 安全访问服务
1. 服务概述SecurityAccess(0x27) 是 ISO 14229-1(UDS)定义的权限鉴权服务,用于客户端(诊断仪)向服务器(ECU)获取受保护诊断功能的执行权限。作用:限制未授权…...
完全掌握G-Helper:华硕ROG笔记本色彩配置文件一键恢复实战指南
完全掌握G-Helper:华硕ROG笔记本色彩配置文件一键恢复实战指南 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, S…...
QSimpleUpdater 详解+详细使用教程:为 Qt 应用一键接入自动更新功能
QSimpleUpdater 详解详细使用教程:为 Qt 应用一键接入自动更新功能一、QSimpleUpdater 介绍1、QSimpleUpdater 是什么?2、核心概念与工作流程3、集成与使用 (C 示例)3.1、配置与检查3.2、处理信号 - 弹出更新对话框示例4、高级配置 (JSON 格式)5、重要注…...
STEP3-VL-10B从零开始:Ubuntu环境部署+Gradio启动+API服务验证全流程
STEP3-VL-10B从零开始:Ubuntu环境部署Gradio启动API服务验证全流程 你是不是对多模态AI模型很感兴趣,想自己动手部署一个既能看懂图片又能和你聊天的智能助手?今天,我们就来一起搞定STEP3-VL-10B这个“小巨人”模型。 别看它只有…...
Face Swap API 集成与使用指南
在当今数字化时代,图像处理技术越来越受到开发者的关注。Face Swap API 是一个强大的工具,它能够将目标图像中的人脸与源图像中的人脸进行交换。本文将详细介绍如何集成和使用 Face Swap API,帮助你快速上手这项技术。 简介 Face Swap API …...
TP8308内置 MOS 平均电流型 LED 降压恒流驱动器
概述 TP8308 是一款工作在固定关断时间控制模式的降压型LED 恒流驱动器,用于高效地驱动多颗 LED。TP8308 采用了平均电流型的闭环恒流方式,系统应用时输出电流对电感变化不敏感。这极大的提高了输出电流的恒流精度,特别适用于 5~100V 输入电压…...
