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

【前端】JS引擎 v.s. 正则表达式引擎

  • JS引擎 v.s. 正则表达式引擎
    它们的转义符都是\
    经过JS引擎会进行一次转义
    经过正则表达式会进行一次转义
  • 在一次转义中\\\\\的转义过程:
    第一个 \ (转义符) 会“吃掉”第二个 \,结果是得到一个字面量的 \。
    第三个 \ (转义符) 会“吃掉”第四个 \,结果是得到另一个字面量的 \。
    第五个剩下
    最终结果: 字符串中会包含3个字面量的反斜杠。
  • \d{4}*这种表达是错误的,因为*表示d{4}重复0~N次,前面必须放一个表示新字符的表达式。如.
  • 练习
    这个dataPattern能匹配什么内容?
const str=`
<script>
(function(){
const Patternstr ="\/\\\\\d{4}\/\\\\\d{2}\/\\\\\d{2}\/\.*"; 
const dataPattern = new RegExp(Patternstr);
})()
</script>`
// 把目录div插入到</body>标签前面
html = html.replace(/<\/body>/, str + '</body>');

解析:

  1. 模板字串 (backtick ``)中\也是转义符,Patternstr变为/\\\d{4}/\\\d{2}/\\\d{2}/.*";
  2. 经过 JavaScript 字串解析器处理,Patternstr变为/\\d{4}/\\d{2}/\\d{2}/.*
  3. 经过正则表达式引擎解析,Patternstr变为/\d{4}/\d{2}/\d{2}/.*
  4. 根据正则表达式,可知形如/2025/05/28/.....这类字符串可以被成功匹配
  • 补充
    在 JavaScript 中,.test() 和 .match() 都是 RegExp (正则表达式) 对象或字符串对象的方法,用于执行正则表达式匹配操作。它们的主要区别在于返回值的类型和目的。
    当你只需要判断字符串中是否存在某个模式时,使用 .test()。 它的性能通常比 .match() 更好,因为它一旦找到匹配就会立即返回 true,不需要构建并返回完整的匹配数组。
    当你需要获取匹配到的具体内容、匹配位置或所有匹配项时,使用 .match()。

相关文章:

【前端】JS引擎 v.s. 正则表达式引擎

JS引擎 v.s. 正则表达式引擎 它们的转义符都是\ 经过JS引擎会进行一次转义 经过正则表达式会进行一次转义在一次转义中\\\\\的转义过程&#xff1a; 第一个 \ (转义符) 会“吃掉”第二个 \&#xff0c;结果是得到一个字面量的 \。 第三个 \ (转义符) 会“吃掉”第四个 \&#x…...

开发体育平台,怎么接入最合适的数据接口

一、核心需求匹配&#xff1a;明确平台功能定位 1.实时数据驱动型平台 需重点关注毫秒级延迟与多端同步能力。选择支持 WebSocket 协议的接口&#xff0c;可实现比分推送延迟 < 0.5秒。例如某电竞直播平台通过接入支持边缘计算的接口&#xff0c;将团战数据同步速度提升至…...

3D虚拟工厂

1、在线体验 3D虚拟工厂在线体验 vue3three.jsblender 2、功能介绍 1. 全屏显示功能2. 镜头重置功能3. 企业概况信息模块4. 标签隐藏/显示功能5. 模型自动旋转功能6. 办公楼分层分解展示7. 白天/夜晚 切换8. 场景资源预加载功能9. 晴天/雨天/雾天10. 无人机视角模式11. 行人…...

http传输协议的加密

创建目录存放签证 [rootserver100 ~]# mkdir /etc/nginx/certs [rootserver100 ~]# openssl req -newkey rsa:2048 -nodes -sha256 -keyout /etc/nginx/certs/timinglee.org.key -x509 -days 365 -out /etc/nginx/certs/timinglee.org.crt ..................................…...

半导体晶圆制造洁净厂房的微振控制方案-江苏泊苏系统集成有限公司

半导体晶圆制造洁净厂房的微振控制方案-江苏泊苏系统集成有限公司 微振控制在现行国家标准《电子工业洁净厂房设计规范》GB50472中有关微振控制的规定主要有&#xff1a;洁净厂房的微振控制设施的设计分阶段进行&#xff0c;应包括设计、施工和投产等各阶段的微振测试、厂房建…...

嵌入式(1):STM32 GPIO与AFIO深度解析:从原理到高阶应用实战

写在前面&#xff1a;本文基于STM32官方参考手册与实际项目经验&#xff0c;系统总结GPIO与AFIO的核心技术要点。每行代码都经过实际验证&#xff0c;可直接用于项目开发。 一、GPIO&#xff1a;芯片与世界的桥梁 1.1 GPIO的8种工作模式详解 工作模式等效电路典型应用场景配置…...

Netty 实战篇:Netty RPC 框架整合 Spring Boot,迈向工程化

本文将基于前面构建的 RPC 能力&#xff0c;尝试将其与 Spring Boot 整合&#xff0c;借助注解、自动扫描、依赖注入等机制&#xff0c;打造“开箱即用”的 Netty RPC 框架&#xff0c;提升开发效率与工程规范。 一、为什么要整合 Spring Boot&#xff1f; 手动 new 实例、写注…...

QML视图组件ListView、TableView、GridView介绍

1 MVD模型 Model:模型,包含数据及其结构。View:视图,用于显示数据。Delegate:代理,规定数据在视图中的显示方式。2 ListView 以列表形式展示数据。2.1 属性 model:设置或获取列表视图的数据模型delegate:定义了列表中每一项的外观和行为currentIndex:获取或设置当前选…...

常见压缩算法性能和压缩率对比 LZ4 LZO ZSTD SNAPPY

网传压缩算法对比表 算法压缩率压缩速度解压速度支持流式压缩适用场景LZ4低极快极快是实时数据压缩、日志压缩、内存缓存等Zstandard高快快是文件压缩、网络传输、数据库备份等Brotli很高中等快是静态资源压缩&#xff08;HTML、CSS、JS&#xff09;等LZO低极快快是嵌入式系统…...

Spring Boot 应用中实现配置文件敏感信息加密解密方案

Spring Boot 应用中实现配置文件敏感信息加密解密方案 背景与挑战 &#x1f6a9;一、设计目标 &#x1f3af;二、整体启动流程 &#x1f504;三、方案实现详解 ⚙️3.1 配置解密入口&#xff1a;EnvironmentPostProcessor3.2 通用解密工具类&#xff1a;EncryptionTool 四、快速…...

【TTS】基于GRPO的流匹配文本到语音改进:F5R-TTS

论文地址&#xff1a;https://arxiv.org/abs/2504.02407v3 摘要 我们提出了F5R-TTS&#xff0c;这是一种新颖的文本到语音(TTS)系统&#xff0c;它将群体相对策略优化(GRPO)集成到基于流匹配的架构中。 通过将流匹配TTS的确定性输出重新表述为概率高斯分布&#xff0c;我们的方…...

动态规划-152.乘积最大子数组-力扣(LeetCode)

一、题目解析 根据示例nums数组中存在负数&#xff0c;下面分析时需注意 二、算法原理 1、状态表示 此时f[i]表示&#xff1a;以i位置为结尾的所有子数组中的最大乘积&#xff0c;但是由于nums中存在负数&#xff0c;所以还需要g[i]表示&#xff1a;以i位置为结尾的所有子数组…...

1-1 初探Dart编程语言

Dart 是 Google 最初开发的一种开源编程语言&#xff0c;适用于客户端与服务端开发。它配套提供 Dart SDK&#xff0c;其中包含 Dart 编译器、Dart 虚拟机&#xff08;Dart VM&#xff09;以及一个名为 dart2js 的工具&#xff0c;可将 Dart 脚本转换为 JavaScript&#xff0c;…...

搭建最新版开源监控平台SigNoz踩的坑

转载说明&#xff1a;如果您喜欢这篇文章并打算转载它&#xff0c;请私信作者取得授权并注明出处。感谢您喜爱本文&#xff0c;请文明转载&#xff0c;谢谢。 一、前言 SigNoz 是一款开源应用程序性能监控工具&#xff0c;在往期相关文章&#xff08;文末有链接&#xff09;中…...

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 免费内网穿透家用服务器

Ubuntu 服务器配置与 Cloudflare Tunnel 部署指南 本文档总结了服务器配置相关内容&#xff0c;包括 Ubuntu 服务器配置、硬盘扩容、静态 IP 设置以及 Cloudflare Tunnel 的部署步骤。 目录 硬盘分区与扩容设置静态 IPCloudflare Tunnel 部署SSH 通过 Cloudflare Tunnel常见…...

无人机多人协同控制技术解析

一、运行方式 无人机多人点对点控制通常采用以下两种模式&#xff1a; 1. 主从控制模式 指定一个主控用户拥有最高优先级&#xff0c;负责飞行路径规划、紧急操作等关键指令&#xff1b;其他用户作为观察者&#xff0c;仅能查看实时画面或提交辅助指令&#xff0c;需经主…...

【东枫科技】KrakenSDR 测向快速入门指南

本快速入门指南旨在帮助您使用运行在 Raspberry Pi 4/5 或 Orange Pi 5B (OPI5B)&#xff08;带 WiFi 型号&#xff09;上的 KrakenSDR 尽快连接到测向应用程序。不过&#xff0c;请务必阅读本手册的其余部分&#xff0c;以了解无线电测向的工作原理。 你需要什么 本指南假设…...

使用LangChain与多模态模型实现图像中的文字和表格提取(PDF可转图片)

引言 在实际工程应用中,经常需要处理含有工程检验标准、施工图纸等复杂内容的PDF文档。这些文档往往包含大量水印、背景图层或无关信息,直接使用OCR识别容易引入噪声,影响后续的信息处理与分析。 为了解决这一问题,我尝试通过网页版Qwen进行测试,发现其对图像中的文字和…...

【Redis】hash

Hash 哈希 几乎所有的主流编程语言都提供了哈希&#xff08;hash&#xff09;类型&#xff0c;它们的叫法可能是哈希、字典、关联数组、映射等。在 Redis 中&#xff0c;哈希类型指值本身又是一个键值对结构&#xff0c;形如 key “key”, value {{field1, value1}, …{field…...

基于Vite的前端自动化部署方案

&#x1f468; 作者简介&#xff1a;大家好&#xff0c;我是Taro&#xff0c;全栈领域创作者 ✒️ 个人主页&#xff1a;唐璜Taro &#x1f680; 支持我&#xff1a;点赞&#x1f44d;&#x1f4dd; 评论 ⭐️收藏 文章目录 前言一、主流解决方案二、了解SCP概念三、自动化部署…...

antDesignVue中a-upload上传组件的使用

工作中需要使用上传组件&#xff0c;记录一下a-upload部分属性用法 1.showUploadList属性使用 使用:showUploadList"{ showRemoveIcon: true ,showDownloadIcon: true }"属性可控制右侧下载&#xff0c;删除图标 2.如何实现回显功能 使用:defaultFileList"fil…...

龙舟竞渡与芯片制造的共通逻辑:华芯邦的文化破局之道

端午节承载着中华民族数千年的精神密码&#xff0c;龙舟最初是古人沟通天地、祈求风调雨顺的仪式载体。战国时期&#xff0c;屈原投江的悲壮故事为端午注入了家国情怀&#xff0c;龙舟竞渡从此兼具纪念英雄与祈福避疫的双重意义。这种文化内核&#xff0c;与深圳市华芯邦“以科…...

机房网络设备操作安全管理制度

该制度围绕机房网络设备操作安全,规定账号实行系统管理员、操作管理员、一般用户三级分级管理,遵循最小授权和权限分割原则,账号需实名制、禁止共享及转借,密码设置需至少 8 位、3 种字符组合且每 3 个月修改一次;高危指令执行需上级审批、双人核查,远程登录需限制权限、…...

CentOS中安装Docker Compose

在CentOS中安装Docker Compose的步骤如下&#xff1a; 步骤 1&#xff1a;确保Docker已安装 Docker Compose依赖Docker环境&#xff0c;请先安装Docker&#xff1a; # 添加Docker官方仓库 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://downlo…...

Linux Kernel动态调试:运行时调试的利器

前言 之前我们在 Linux Kernel调试:强大的printk(二) Linux Kernel调试:强大的printk(三) 文章中介绍过pr_debug和dev_dbg,如下是dev_dbg的定义: #if defined(CONFIG_DYNAMIC_DEBUG) || \(defined(CONFIG_DYNAMIC_DEBUG_CORE) && defined(DYNAMIC_DEBUG_M…...

Milvus分区-分片-段结构详解与最佳实践

导读&#xff1a;在构建大规模向量数据库应用时&#xff0c;数据组织架构的设计往往决定了系统的性能上限。Milvus作为主流向量数据库&#xff0c;其独特的三层架构设计——分区、分片、段&#xff0c;为海量向量数据的高效存储和检索提供了坚实基础。 本文通过图书馆管理系统的…...

5月课程精彩回顾 | 2025高通边缘智能创新应用大赛系列公开课

当边缘计算与人工智能的碰撞掀起技术革命浪潮&#xff0c;如何抢占创新先机&#xff1f;2025高通边缘智能创新应用大赛以行业顶尖资源赋能开发者&#xff0c;在初赛阶段重磅打造系列公开课。 5月13日至29日&#xff0c;大赛主办方高通技术公司携手承办方阿加犀&#xff0c;以及…...

设计模式25——中介者模式

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用&#xff0c;主要是下面的UML图可以起到大作用&#xff0c;在你学习过一遍以后可能会遗忘&#xff0c;忘记了不要紧&#xff0c;只要看一眼UML图就能想起来了。同时也请大家多多指教。 中介者模式&#xff08;Mediat…...

阿里云配置安全组策略开放端口

目录 1. 测试端口是否开放 1.1 测试程序 1.2 测试工具 2. 阿里云安全组开放端口 3. 测试开放之后是否能访问 1. 测试端口是否开放 1.1 测试程序 Linux: This repository is specifically designed to store Linux code - Gitee.comhttps://gitee.com/Axurea/linux/tree/…...

uniapp 搭配uviwe u-picker 实现地区联栋

原始数据&#xff1a; ["id": 2,"createTime": null,"updateTime": null,"citycode": null,"adcode": "410000","cityName": "河南省","level": "province","cent…...