JS正则表达式实战:核心语法解析

JS中的正则表达式实例集锦:
部分语法类型核心含义
/.../定界符正则表达式的边界标识(JavaScript/Perl 等语言的标准写法),包裹正则主体。
\.转义字符匹配字面量的点号.。⚠️ 重点:正则中.是通配符(匹配任意单个字符),必须用\转义才能匹配实际的.
()分组符正则的 “分组” 语法,作用是:1. 把括号内的内容视为一个整体;2. 捕获匹配到的内容(可通过 $1/$2 等引用);⚠️ 这里括号内是空的,意味着 “匹配空内容”。
$锚点匹配字符串的结束位置,确保$前面的内容必须出现在字符串最后。
匹配 / 不匹配示例

javascript

// 示例1:匹配 .txt 结尾的文件(把空分组换成 txt) const reg1 = /\.(txt)$/; console.log(reg1.test("note.txt")); // true console.log(reg1.test("note.txt.bak")); // false(结尾不是 .txt) // 示例2:匹配 .json 或 .yml 结尾的文件(分组内加或逻辑) const reg2 = /\.(json|yml)$/; console.log(reg2.test("config.json")); // true console.log(reg2.test("docker.yml")); // true console.log(reg2.test("data.csv")); // false

?正则表达式

用法 1:匹配「前面的字符 / 分组」0 次或 1 次(最基础)

这是你之前在woff2?中看到的用法,也是最常用的。

  • 语法字符?(分组)?
  • 含义:表示它前面紧邻的那个字符 / 分组是「可选的」—— 匹配 0 次(没有)或 1 次(有)。
  • 示例
  • const reg = /^86?1[3-9]\d{9}$/; // 不带区号的 11 位手机号(正常场景) console.log(reg.test('13800138000')); // false console.log(reg.test('19912345678')); // false // 带 86 区号的手机号 console.log(reg.test('8613800138000')); // true console.log(reg.test('8617788990011')); // true // 示例1:匹配 color 或 colour(英式拼写) const reg1 = /colou?r/; console.log(reg1.test('color')); // true(u 出现 0 次) console.log(reg1.test('colour')); // true(u 出现 1 次) console.log('colouur is :',reg1.test('colouur'));// false(u 出现 2 次) // 示例2:匹配手机号(可选带区号 86) const reg2 = /^86?1[3-9]\d{9}$/; console.log('13800138000 is :',reg2.test('13800138000')); // false(86 出现 0 次) console.log(reg2.test('8613800138000')); // true(86 出现 1 次) console.log(reg2.test('88613800138000'));// false(86 多了个 8)

    用法 2:将「贪婪匹配」转为「非贪婪匹配」(重要)

    正则默认是「贪婪模式」(尽可能多匹配),?加在*/+/?/{n,m}后,会变成「非贪婪模式」(尽可能少匹配)。

  • 语法*?/+?/??/{n,m}?
  • 含义:匹配到满足条件的「最短内容」就停止。
  • 示例

    javascript

    const str = '<div>内容1</div><div>内容2</div>'; // 贪婪匹配(默认):匹配从第一个 <div> 到最后一个 </div> 的所有内容 const regGreedy = /<div>.*<\/div>/; console.log(str.match(regGreedy)[0]); // 输出:<div>内容1</div><div>内容2</div> // 非贪婪匹配(加?):匹配第一个 <div> 到最近的 </div> const regNonGreedy = /<div>.*?<\/div>/; console.log(str.match(regNonGreedy)[0]); // 输出:<div>内容1</div>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1160238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动驾驶不同工况避障模型(perscan、simulink、carsim联仿),能够避开预设的...

自动驾驶不同工况避障模型&#xff08;perscan、simulink、carsim联仿&#xff09;&#xff0c;能够避开预设的&#xff08;静态&#xff09;障碍物自动驾驶避障系统开发就像搭积木&#xff0c;得把Perscan、Simulink、CarSim这几个仿真工具像拼乐高似的搭起来。搞过的人都知道…

机器学习的演进与深度学习的革命

从规则到洞察&#xff1a;机器学习的演进与深度学习的革命引言&#xff1a;当机器开始“学习”想象一下&#xff0c;你正在教一个孩子识别猫。你不会给他编写一套复杂的“猫识别规则”&#xff0c;而是展示大量猫的图片&#xff0c;并告诉他&#xff1a;“这些都是猫。”随着时…

【远程协助】内网 IT 运维远程协助系统的最小可用架构

需求核心 运维需要随时查看终端画面并远程协助&#xff0c;但又不能使用公网工具&#xff0c;最小可用系统需要尽量简洁。最小可用架构 终端 Agent&#xff1a;屏幕采集 输入执行。运维控制台&#xff1a;浏览器或轻客户端。中继服务器&#xff1a;统一入口与权限控制。 必备功…

【稳定性】内网会议系统“跑一整天不重启”的关键设计点

目标 企业级会议系统必须能稳定运行 8~12 小时&#xff0c;不能靠频繁重启维持可用性。关键设计点 资源回收&#xff1a;会话结束释放编码器、socket、线程。心跳与超时&#xff1a;无心跳 30s 断开&#xff0c;防止僵尸连接。限流与背压&#xff1a;避免消息积压导致内存膨胀。…

【实战复盘】一次真实内网会议系统部署踩坑全记录(含失败方案)

背景 在一个 300 人企业内网部署会议系统&#xff0c;目标是不开外网、支持屏幕共享与录制。最终成功上线&#xff0c;但踩了不少坑。失败方案 1&#xff1a;纯 P2P 人数一多&#xff0c;上行带宽被打满。会议室设备 CPU 飙升导致卡顿。 结论&#xff1a;P2P 只适合小规模试点。…

关于pycharm中Module parse failed: ‘import‘ and ‘export‘ may appear only with ‘sourceType: module‘ (1:0)

count.js中的代码如下&#xff1a;export default function count(x,y) {return x - y; }sum.js中的代码如下&#xff1a;export default function sum(...args) {return args.reduce((p, c) > p c , 0) }main.js中的代码如下&#xff1a;import count from "./js/cou…

AI 当主程?TRAE SOLO+cpolar 让开发效率翻倍的真实体验

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事&#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 AI 当主程&#xff1f;TRAE SOLOcpolar 让开发效率翻倍的真实体验降维打击套餐制作方法就在下面呦…

如何用云服务器搭建传奇游戏服务器

云服务器搭建传奇游戏服务器完整指南一、服务器配置选择硬件配置要求&#xff1a;CPU&#xff1a;建议4核以上处理器&#xff08;如Intel Xeon系列或AMD Ryzen系列&#xff09;&#xff0c;主频3.0GHz以上&#xff0c;多核心可支持更多玩家同时在线内存&#xff1a;至少8GB&…

【MIMO OFDM】基于matlab小波变换MIMO OFDM通信仿真【含Matlab源码 14928期】

&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49e;欢迎来到海神之光博客之家&#x1f49e;&#x1f49e;&#x1f49e;&#x1f49…

如何利用云服务器搭建游戏服务器并实现跨平台游戏?

云服务器搭建游戏服务器并实现跨平台游戏完整指南一、云服务器选择与配置1. 服务器选型建议根据游戏类型和玩家规模选择合适的配置&#xff1a;休闲游戏/小型服务器&#xff1a;2核CPU/4GB内存/50GB SSD&#xff0c;支持10-20人同时在线中型游戏/竞技游戏&#xff1a;4核CPU/8G…

吐血推荐专科生必用的9款AI论文工具

吐血推荐专科生必用的9款AI论文工具 2026年专科生论文写作工具测评&#xff1a;为何需要一份精准榜单 随着AI技术的不断成熟&#xff0c;越来越多的专科生开始借助AI工具提升论文写作效率。然而&#xff0c;面对市场上五花八门的论文辅助软件&#xff0c;如何选择真正适合自己…

最近邻算法 (kNN) 通俗讲解

最近邻算法&#xff0c;全称 k-Nearest Neighbors (kNN)&#xff0c;是一种简单却强大的机器学习算法。它属于“监督学习”的一种&#xff0c;主要用于分类&#xff08;比如判断一个东西属于哪个类别&#xff09;和回归&#xff08;预测一个数值&#xff09;。通俗点说&#xf…

pytorch深度学习笔记16

目录 摘要 1.AdaGrad 2.RMSProp 3.Adam 摘要 本篇文章继续学习尚硅谷深度学习教程&#xff0c;学习内容是AdaGrad&#xff0c;​​​​​​​RMSProp&#xff0c;Adam 1.AdaGrad AdaGrad&#xff08;Adaptive Gradient&#xff0c;自适应梯度&#xff09;会为每个参数适当…

Spring 事务核心知识点全梳理(编程式 + 声明式 + 注解详解)

一、事务的基础概念1. 什么是事务&#xff1f;事务是一组不可分割的操作集合&#xff0c;这组操作要么 “同时成功”&#xff0c;要么 “同时失败”&#xff08;即 “原子性”&#xff09;。比如转账时 “扣 A 账户钱 加 B 账户钱”&#xff0c;这两步必须作为一个整体执行&am…

【源码 + 文档】SpringBoot+Vue 开发网上购物商城系统(附完整设计文档)

【源码 文档】SpringBootVue 开发网上购物商城系统&#xff08;附完整设计文档&#xff09; 哈喽&#xff0c;我是你们的技术干货博主&#xff5e;今天给大家分享一个基于 SpringBootVue 开发的网上购物商城系统&#xff0c;包含前端商城 后端管理系统&#xff0c;还附带了完…

OpenCode:开源AI代理如何改变你的编程工作流

OpenCode是开源AI编码代理工具&#xff0c;代表AI编程从"补全"到"对话"再到"代理"的演进。它采用终端优先设计&#xff0c;支持多会话并行、MCP生态扩展&#xff0c;强调隐私与可控性。文章详解了其核心优势&#xff1a;开源可控、终端优先工作流…

对 两种不同AI范式——Transformer 和 LSTM 进行解剖和对比

这不仅仅是两个模型的比较&#xff0c;更是两种AI范式的对话。一、 设计哲学&#xff1a;两种世界观维度LSTM的世界观Transformer的世界观核心隐喻时间的诗人&#xff1a;认为世界是动态的、连续的流。理解当下&#xff0c;必须回顾过去&#xff0c;记忆在时间中流淌和演变。空…

支持向量机 (SVM) 通俗解读

想象一下&#xff0c;你是一个老师&#xff0c;要把一群调皮的学生分成两队&#xff1a;一队爱踢足球的&#xff0c;一队爱打篮球的。你不想让他们混在一起打架&#xff0c;所以你需要在操场上画一条线&#xff0c;把两队分开。但不是随便画一条&#xff0c;你要画得尽可能宽敞…

【正点原子STM32MP157学习篇】A7和M4联合调试(通过STM32CubeIDE)

文章目录1 概要2 Remoteproc 框架简介2.1 Remoteproc 框架2.2 实验准备2.2.1 硬件连接2.2.2 启动 Linux 操作系统3 使用 STM32CubeIDE 进行调试3.1 操作步骤3.2 fw_cortex_m4.sh 脚本分析1 概要 本章节将介绍如何A7和M4进行联合调试&#xff0c;我们在分析 STM32CubeMP1 固件包…

提示工程架构师别再等!Agentic AI的3大市场优势,已经让同行抢先一步了

提示工程架构师别再等&#xff01;Agentic AI的3大市场优势&#xff0c;已经让同行抢先一步了关键词&#xff1a;Agentic AI 提示工程 自主决策 工具协同 商业效率 摘要&#xff1a;当你还在为“如何写更好的提示”绞尽脑汁时&#xff0c;同行已经用Agentic AI&#xff08;智能…