JS正则表达式(超详细整理版)

呕心沥血 JavaScript知识点梳理大全,超详细 建议收藏!!! JS知识点总结,超详细,建议收藏 一、语法和变量 (一)、前端三层 (二)、JS的书写位置 (三)、输出语句 (四)、变量声明提升 变量的声明提升:你可以提前使用一个稍后才声明的变量,而不会引发异常 在执行所有代码前,JS有预解析阶段,会预读所有变量的定义 二、基本数据类型 (一)、JavaScript中两大类数据类型 (二)、typeof运算符 typeof运算符可以检测值或者变量的类型 ... 阅读详情

正则表达式

  1. 创建正则表达式
    • 利用RegExp对象创建
      var reg = new RegExp(/123/);
      console.log(reg)  // /123/
      
    • 字面量创建
      var reg = /123/;
      console.log(reg)  // /123/
      
    • 正则.exec( str ) 从字符串里获取符合正则表达式的一部分片段

      => 返回值:

      1. 字符串里面没有符合规则的片段

      ​ -> null

      2. 字符串里面有符合规则的片段

      ​ 2-1. 基础捕获

      ​ -> 返回值是一个数组

      ​ -> [0] 是捕获出来的片段

      ​ -> 不管有多少个片段, 都只是捕获第一个片段

      ​ -> 不管捕获多少次, 都是第一个片段

      ​ 2-2. 当正则表达式有 () 的时候

      ​ -> 返回值是一个数组

      ​ -> 从 索引[1] 开始依次是每一个小括号的单独捕获

      ​ 2-3. 当正则有全局标识符 g 的时候

      ​ -> 第二次捕获会从第一次捕获的结束为开始继续向后查找

      ​ -> 直到找不到了位置, 返回 null

      ​ -> 再后面一次捕获, 依旧会从 [0] 位置开始查找

      const reg = /abcd/g
       const reg1 = /(b)/
      const res = reg1.exec('aaabbbcccddd')
       console.log(res)   //返回一个数组集合
       const res2 = reg.exec('aaabcdddddabcdabcd')
       console.log(res2) //返回一个数组集合
      
    • 正则.test( str ) 检测字符串是否符合正则表达式规范 符合返回true 不符合返回false
    
	 var reg = /123/ 只要包含123就可以
	     console.log(reg.tedt(123))  //true
	     console.log(reg.test('abcd'))  //false
  1. 正则表达式特殊字符
    • ^ 以…为开头 /^abc/ 只能以abc开头
    • $ 以…为结尾 /abc/只能以abc结尾/abc/ 只能以abc结尾 /^abc/只能以abc结尾/abc/ 必须是abc
    • [abc]表示有一系列字符可以选择,只匹配一个
    • \s 表示一个空格
    • \S 表示一个非空格
    • \t 表示一个制表符(tab) => 一个制表符就是制表符, 不是多个空格
    • \d 表示一个数字
    • \D 表示一个非数字
    • \w 表示一个 数字字母下划线 => 表示 数字 字母 下划线 三选一
    • \W 表示一个 非数字字母下划线 => 表示 数字 字母 下划线 以外的任意一个都行
    • 点(.) 表示非换行的任意字符
    • * 表示出现 0 ~ 多次
    • + 表示出现 1 ~ 多次
    • ? 表示出现 0 ~ 1 次
    • {n} 表示出现 n 次
    • {n,} 表示出现 n ~ 多次
      => {0,} 等价于 *
      => {1,} 等价于 +
    • {n,m} 表示出现 n ~ m 次
      => {0,1} 等价于 ?
    • +? 在捕获的时候会捕获能捕获到的最大长度
    • *? 在捕获的时候会按照最少的数量来捕获
    • ?? 在捕获的时候会按照最少的数量来捕获
    • {n}? 在捕获的时候会按照最少的数量来捕获 最少n个
    • {n,}? 在捕获的时候会按照最少的数量来捕获 最少n个
    • {n,m}? 在捕获的时候会按照最少的数量来捕 最少n个
  2. 正则的预查
    • ?= 在捕获一个内容的时候, 后面必须跟着是我选择的某一个才可以
      // 字符串是 ES2015 或者 ES2016 是可以捕获的
          // 但是我只捕获 ES 不需要 2015 或者 2016
          const reg = /ES(?=2015|2016)/
          console.log(reg.exec('ES2015')) //返回一个数组集合
          console.log(reg.exec('ES2016')) //null
          console.log(reg.exec('ES')) //null
      
    • ?! 在捕获一个内容的时候, 后面必须跟着不是我选择的某一个才可以
      const reg2 = /ES(?!2015|2016)/
          console.log(reg2.exec('ES2015')) //null
          console.log(reg2.exec('ES2016')) //null
          console.log(reg2.exec('ES2017')) //返回数组集合
      
    • ?<= 在捕获一个内容的时候, 前面必须是我选择的某一个才可以
      reg = /(?<=2015|2016)ES/
          console.log(reg.exec('2015ES'))
          console.log(reg.exec('2016ES'))
          console.log(reg.exec('2017ES'))//null
      
    • ?<! 在捕获一个内容的时候, 前面必须不是我选择的某一个才可以
         const reg2 = /(?<!2015|2016)ES/
          console.log(reg2.exec('2015ES'))//null
          console.log(reg2.exec('2016ES'))//null
          console.log(reg2.exec('2017ES'))
      
从DMD芯片到3D视觉革命:揭秘DLP工业投影光机的核心技术 本文深入解析了DMD芯片在DLP工业投影光机中的核心技术应用,揭示了其如何通过3D结构光技术实现微米级精度。从DMD芯片的机械设计到工业级光机的特殊优化,再到光固化3D打印和系统集成,展现了DLP技术在工业自动化和智能制造中的革命性作用。 阅读详情

相关推荐

Springboot+Vue 实现鸿蒙商城管理系统开发实践

通过使用 Springboot 和 Vue 技术栈,我们成功实现了鸿蒙商城管理系统的开发。系统具备用户管理、商品管理、订单管理、库存管理和统计分析等功能,支持 Web 端和鸿蒙端的访问和操作。在开发过程中,我们充分利用了 Springboot 的快速开发优势和 Vue 的组件化开发特点,提高了开发效率和系统的可维护性。同时,通过与鸿蒙设备的集成,实现了多设备之间的数据交互和协同工作,提升了用户体验。

ZXJ_SXT的博客 1324

js各种特殊字符的正则表达式

1 数字:1*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$ 8 正数、负数、和小数:^(-|+)?\...

weixin_42508745的博客 3882

【前端HTML生成条形码——MQ】

本文将展示前端HTML如何根据用户输入内容生成对应的条形码,附HTML和JS代码。代码如下(示例):

weixin_42588676的博客 1955

JavaScript正则表达式:正则表达式中的特殊字符

正则表达式的组成一个正则表达式可以由简单的字符构成,比如 /abc/,也可以是简单和特殊字符的组合,比如 /ab*c/ 。其中特殊字符也被称为元字符,在正则表达式中是具有特殊意义的专用符号,如 ^ 、$ 、+ 等。特殊字符非常多,可以参考: MDN:正则表达式 - JavaScript | MDN (mozilla.org)jQuery 手册:正则表达式部分正则测试工具: 在线正则表达式测试这里我们把元字符划分几类学习 。边界符正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符。 如果 ^

薛定谔的猫 6747

Win10+pycharm+conda 配置Siammask 过程记录(新手向)

我们跑动demo 需要配置两个相关的文件这两个文件需要用 git 进行下载,对于不熟悉git的小伙伴 我这里给出连接,大家可以直接下载即可,并将其配置在 experiments文件夹下然后大家再需要在设置参数参数这里给出了。

C1137577723的博客 550

PX4 磁罗盘干扰分析

无人机上的电机电流会干扰无人机上搭载的磁罗盘,PX4官方提供了一些方式,通过分析飞行日志,判断电机是否对磁罗盘有严重影响。

Zecet的博客 3357

JavaScript正则表达式匹配:不包含某字符或字符串

JavaScript正则表达式匹配:不包含某字符 /^[^\?]*$/

a704386029的博客 1万+

国产Flash替代方案:手把手教你用XSCT烧写ZYNQ7045的BOOT.BIN(附完整命令解析)

本文详细介绍了国产Flash替代方案在ZYNQ7045上的应用,通过XSCT工具链实现BOOT.BIN的精准烧写。内容涵盖国产Flash兼容性检查、PetaLinux环境搭建、XSCT烧写全流程及故障排查,帮助开发者高效完成国产化替代,提升硬件开发效率。

weixin_33670786的博客 422

正则表达

参考于这https://www.imooc.com/learn/706 var reg = new RegExp("a", "g"); 字面量写法:var reg = /a/g; g表示区局; i表示不区分大小写; m表示多行模式 [abc] :匹配字符串中的a或b或c      ([a-z0-9A-Z_.-]) ([abc]):分组,用$1、$2来获取           (?:[...

Yi_xuan_sky的博客 310

34、Text2KGBench与GeoQuestions1089:知识图谱生成与地理空间问答的新进展

本文介绍了Text2KGBench和GeoQuestions1089在知识图谱生成与地理空间问答领域的最新进展。Text2KGBench提供了一个开放且可复现的基准,用于从文本生成知识图谱,并结合多个LLM模型和评估工具推动研究。GeoQuestions1089是目前最大的地理空间问答数据集,与GeoQA2系统结合,推动了地理空间问答系统的发展。文章还探讨了技术挑战和未来研究方向,包括多模态知识图谱生成和深度学习优化的地理空间问答系统。

css33的专栏 114

【Word提效 No.010】使用AI一键复制格式刷应用格式

本文介绍利用AI工具WorkBuddy实现Word文档格式批量复制的自动化解决方案。通过简单指令即可将指定段落的格式一键应用到多个目标段落,解决传统格式刷操作繁琐、易出错的问题。方案包含三步操作:准备文档、输入指令模板、验收效果,并提供多种场景的现成指令示例。该工具支持字体、段落等格式属性的批量复制,且不会覆盖原文件,适用于论文、手册等文档的格式统一需求。

u011186532的专栏 77

JavaScript 正则表达式使用详解(二)

JavaScript 正则表达式使用详解(二)2008-08-11 16:41正则表达式语法 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。 这里有一些可能会遇到的正则表达式示例: Js代码 JScript ...

iteye_19956的博客 330

STM32实现简单的智能电梯控制

上述代码实现了一个简单的智能电梯控制器。电梯的状态包括IDLE(停止)、UP(向上移动)和DOWN(向下移动)三种状态。通过向上和向下按钮的按下,可以控制电梯移动到指定的楼层。在主循环中,不断读取当前楼层的按钮状态,并根据电梯状态决定执行的动作。具体的楼层数量和按钮的GPIO引脚可以根据实际情况进行调整。要实现简单的智能电梯控制,我们可以使用STM32微控制器来实现。

2401_85258012的博客 336

JavaScript从入门到摔门(2万字超详细的JS知识)

概要: ECMAScript DOM BOM 一 相见—JS概念 JS特点: (1)解释型语言,不用编译,直接运行。 (2)类似与C和Java的语法。 (3)动态语言。 (4)基于原型的面向对象。 JS是严格区分大小写的,HTML则不严格区分。 JS中每条语句以分号结尾,如果不写,浏览器会自动替我们加上,但是会消耗浏览器资源,有可能会加错。 输出语句: (1)alert("这是...

专注技术 5876

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JavaScript基础语法整理

JavaScript基础语法整理特征注意:JavaScript的组成JavaScript的引入方式内部脚本外部引入JavaScript规范化的标签放置位置JavaScript语法及其规则注释变量基本数据类型JavaScript和JAVA的区别typedef---获取当前变量的类型引用数据类型运算符比较运算符逻辑等和全等运算符逻辑运算符正则对象RegExp对象的创建方式test方法正则对象使用注意事项JS数组对象JS数组的特性JS数组的四种创建方式JS数组的常用属性和方法全局函数执行函数编码和解码URL 和

m0_53157173的博客 3327

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

常用js正则表达式 Javascript正则表达式实战手册

最近做了几个项目,发现正则表达式用得越来越多了。我个人的习惯是,能通过查手册获取的东西绝不死记硬背,虽然大多数技术网站都搜罗了一堆Javascript正则表达式的用法,但我还是想整理一份更有实战意义的手册。说白了就是,如果以后需要用到正则表达式,直接过来复制粘贴就行啦!我会尽量把排版做的漂亮一点,便于大家提高开发效率。前面是Javascript正则表达式的简明用法,实战内容请跳到最后一节。   ...

xh601的博客 5308

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

JavaScript中常用的正则表达式整理

JavaScript中常用的正则表达式整理 匹配中文字符的正则表达式: [u4e00-u9fa5] 匹配双字节字符(包括汉字在内):[^x00-xff] 匹配空白行的正则表达式:ns*r 匹配HTML标记的正则表达式:< (S*?)[^>]*>.*?|< .*? /> 匹配首尾空白字符的正则表达式:^s*|s*$ 匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)* 匹配网址URL的正则表达式:[a-zA-z]+://[^s]

weixin_44682587的博客 492

JS正则表达式整理

JS正则表达式整理 金额校验类 function chearNum(s) { //金额 只允许正数 //var exp = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/; //金额 允许正(+)负数 //var exp = /(^([+...

qq_43493141的博客 253

Js正则整理

1. JS正则表达式整理(待补充) 字符 含意 \做为转意,即通常在 \后面的字符不按原来意义解释,如 /b/匹配字符 b,当b前面加了反斜杆后 /\b/,转意为匹配一个单词的边界。 \也可以对正则表达式功能字符的还原,如匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,在后面加了\后,a\*/将只匹配 a*。 ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"An ...

张兴华的博客 1132

JS(JavaScript) 数据校验 正则表达式

正则表达式是一门独立的语言,有自己的语法,用来检测指定字符串是否符合特定的规则正则表达式就是用来定义规则的,全称为Regular ExpressionJavaScript中提供了RegExp对象,表示正则表达式创建正则表达式对象的方式有两种使用字面量定义举例//a是定义的匹配规则,i是忽略大小写//通过reg的test函数进行验证使用构造函数定义举例//定义正则表达式,注意这里的双斜杠中的内容不能以变量传入,只能直接写入//a是定义的匹配规则,i是忽略大小写。

感谢阅读 3321

Js正则表达式

为了方便有学习需要的朋友,我把资料都整理成了视频教程(实际上比预期多花了不少精力)当程序员容易,当一个优秀的程序员是需要不断学习的,从初级程序员到高级程序员,从初级架构师到资深架构师,或者走向管理,从技术经理到技术总监,每个阶段都需要掌握不同的能力。早早确定自己的职业方向,才能在工作和能力提升中甩开同龄人。无论你现在水平怎么样一定要 持续学习 没有鸡汤,别人看起来的毫不费力,其实费了很大力,这四个字就是我的建议!!我希望每一个努力生活的IT工程师,都会得到自己想要的,因为我们很辛苦,我们应得的。

2401_84408814的博客 802

js正则表达式实例(整理)

匹配结尾的数字  来源:如何用JAVASCRIPT 正则表达式取出字符串最后一组数字,谢谢  如  30CAC0040 取出40  3SFASDF92 取出92  正则如下://d+$/g    统一空格个数  来源:正则匹配空格的问题  字符串内字符键有空格,但是空格的数量可能不一致,通过正则将空格的个数统一变为一个。  例如:蓝色理想  变成:蓝色理想

bingdongguke的专栏 2668

JavaScript 正则表达式学习整理

1. 创建 在 JavaScript 中,可以通过两种方式创建一个正则表达式。 (1)通过调用 RegExp 对象的构造函数创建 const regexp = new RegExp(正则表达式, 标志); (2)利用字面量创建正则表达式 const rg = /正则表达式/[可选的标志]; 2. 标志 标志 描述 g 全局搜索 i 不区分大小写搜索 m 多行搜索 s 允许 . 匹配换行符 u 使用unicode码的模式进行匹配 y 执行**粘性(sticky)**搜索

火星基地 370

JS 正则表达式相关方法整理

REGEXP 对象 JS 通过内置对象 RegExp 支持正则表达式。 有两种方法实例化 RegExp 对象:字面量、构造函数。 字面量: var reg = /\bis\b/g 构造函数: var reg = new RegExp(’\bis\b’,‘g’) 创建方法的区别 1在引擎编译代码时新建正则表达式,2在运行时新建正则表达式,所以1效率更高,而且1比较遍历和直观,在实际应用中...

waiting677的博客 281

JavaScript笔记整理

title: JavaScript tags: JavaScript notebook: 2022年3月21日之前笔记 2022 年 3 月 18 日 大数据类型使用 bigInt null 有数据位置但是没有数据,undefined 是完全没有数据位置 object{} 对象,array[]数组 if 中如果没有写判断语句则括号中的内容会被转换成布尔类型(隐式转换) false : null nuderfined 0 " " NaN switch 的 key 和 val 的比较.

qq_43174912的博客 4671

JavaScript 正则表达式语法和API知识点整理

在Web前端开发中,正则表达式(Regular Expression, 简称regex或regexp)是一种用于匹配字符串模式的强大工具。它由一系列字符构成,这些字符可以是普通字符,也可以是具有特殊含义的元字符。通过使用正则表达式,我们可以执行复杂的字符串操作,如验证用户输入、搜索文本内容、替换特定模式等。JavaScript内置了对正则表达式的全面支持,使得开发者能够轻松地利用这一功能来增强应用程序的功能。

一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟! 1191
上一篇: 什么是JSON(详解)
下一篇: 五星好评案例(利用cookie存储)
LoveyL0201
博客等级 码龄7年 14粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值