JS高级-正则表达式

JavaScript 正则表达式触发函数进行高级替换的 JavaScript 技巧 除了直接返回替换结果,我们还可以通过替换函数中的其他参数来进行更灵活的替换操作。例如,我们可以使用正则表达式的捕获组来提取匹配到的部分,并在替换函数中使用这些捕获组的值。在替换函数中,我们可以使用匹配到的内容来进行复杂的逻辑处理,并返回替换后的结果。假设我们有一个字符串,其中包含一些特定的标记,我们想要将这些标记替换为相应的内容。在替换函数中,我们可以根据匹配到的内容进行逻辑判断,并返回相应的替换结果。在 JavaScript 中,正则表达式是一种强大的工具,可以用于字符串的匹配和替换操作。 阅读详情

JS高级-正则表达式

1.正则表达式概述

正则表达式用于匹配字符串中字符组合、替换页面内容的文本词、或从字符串中提取我们需要的特定部分。正则表达式也是对象。

2.正则表达式在JavaScript中的使用

2.1创建正则表达式

在JavaScript中,可以通过两种方式创建一个正则表达式
1.通过RegExp对象的构造函数创建
语法:var 变量名=new RegExp(/表达式/);

var regexp=new RegExp(/123/);

2.通过字面量创建
语法:var 变量名=/表达式/;

var regexp1=/123/;
2.2测试正则表达式 test

test()正则对象方法,用于检测字符串是否符合该规则,该对象会返回 true 和 false ,其参数是测试字符串。
语法:regexObj.test(str)
1.regexObj 是写的正则表达式
2.str 我们测试的文本
3.就是检测str文本是否符合我们写的正则表达式规范

var regexp1=/123/;
console.log(regexp1.test(123));//true

3.正则表达式中的特殊字符

3.1正则表达式的组成

一个正则表达式可以由简单的字符构成,比如/abc/,也可以是简单和特殊字符的组合,比如/ab*c/。其中特殊字符也被称为元字符,在正则表达式中是具有特殊意义的专用符号,如、$ + 等。

3.2边界符

正则表达式的边界符(位置符)用来提示字符所处的位置,主要有两个字符
在这里插入图片描述

var reg=/^abc/;
console.log(reg.test('abc'));//true
console.log(reg.test('abcde'));//true
console.log(reg.test('aabcd'));//false
var reg1=/^abc$/;//精确匹配 要求必须是 abc 字符串才符合规范
console.log(reg1.test('abc'));//true
console.log(reg1.test('abcd'));//fasle
console.log(reg1.test('aabcd'));//false
console.log(reg1.test('abcabc'));//false
3.2字符类

字符类:[] 表示有一系列字符可供选择,只要匹配其中一个就可以了。所有可供选择的字符都放在方括号内。

var rg=/[abc]/
console.log(rg.test('ads'));//true
var rg1=/^[abc]$/;//三选一 只有是a 或者是b 或者是c 这三个字符才返回 true
console.log(rg1.test('aa'));//false

我们可以在我们的[]内加上一个 - 符号在表示范围

var rg1=/^[a-z]$/;//26个英文字母任何一个字符返回 true
console.log(rg1.test('a'));//true
console.log(rg1.test('A'));//false
console.log(rg1.test(1));//false

字符组合

var rg1=/^[a-zA-Z]$/;//26个英文字母大小写都返回true

如果中括号内有的符号就表示取反的意思,千万和我们边界符里面的区分开

var rg2=/^[^a-zA-Z0-9_-]$/;
console.log(rg2.test('a'));//false
console.log(rg2.test('A'));//false
console.log(rg2.test(1));//false
console.log(rg2.test('!'));//true

常见的字符组合
在这里插入图片描述

3.3量词符

量词符用来设定某个模式出现的次数
在这里插入图片描述

// * 相当于 >=0 可以出现0次或者很多次
var reg=/^a*$/;
console.log(reg.test(''));//true
console.log(reg.test('aaa'));//true
// + 相当于>=1 可以出现1次或者很多次
var reg=/^a+$/;
console.log(reg.test(''));//false
console.log(reg.test('a'));//true
console.log(reg.test('aaa'));//true
// ? 相当于 1 || 0
var reg=/^a?$/;
console.log(reg.test(''));//true
 console.log(reg.test('a'));//true
console.log(reg.test('aaa'));//true
// {3 } 就是重复3次
var reg=/^a{3}$/;
console.log(reg.test(''));//false
console.log(reg.test('a'));//false
console.log(reg.test('aaa'));//true
// {3, } 大于等于3
var reg=/^a{3,}$/;
console.log(reg.test(''));//false
console.log(reg.test('a'));//false
console.log(reg.test('aaa'));//true
console.log(reg.test('aaaa'));//true
// {3,5} 大于等于3 并且小于等于5
var reg=/^a{3,16}$/;
console.log(reg.test(''));//false
console.log(reg.test('a'));//false
console.log(reg.test('aaa'));//true
console.log(reg.test('aaaaa'));//true
console.log(reg.test('aaaaaa'));//false

案例:
判断输入框输入的内容是否符合标准

<input type="text" class="uname"><span>请输入用户名</span>
<script>
var reg=/^[a-zA-Z0-9_-]{6,16}$/;
var uname=document.querySelector('.uname');
var span=document.querySelector('span');
uname.onblur=function(){
        if(reg.test(this.value)){
        span.className='right';
        span.innerHTML='用户名输入正确';
        }else{
        span.className='wrong';
        span.innerHTML='输入错误';
        
        }
}
</script>

在这里插入图片描述
在这里插入图片描述

3.3预定义类

与定义类指的是某些常见模式的简写方式
在这里插入图片描述

4.正则表达式的替换

4.1 replace 替换

replace()方法可以实现替换字符串操作,用来替换的参数可以是一个字符串或者正则表达式
语法:表达式.replace(‘需要替换的’,‘替换的结果’)
1.第一个参数:被替换的 字符串 或者 正则表达式
2.第二个参数:替换为的字符串
3.返回值是一个替换完毕的新字符串

var zz='red和blue';
var newZz=zz.replace('red','green');
console.log(newZz);//green和blue
4.1正则表达式参数

语法:/表达式/[switch]
switch(也称为修饰符)按照什么样的模式来匹配,有三种:

  • g:全局匹配
  • i:忽略大小写
  • gi:全局匹配+忽略大小写
JavaScript正则表达式高级用法详解 正则表达式(Regular Expression)是一种强大的文本匹配和处理工具,在前端开发中经常被用于字符串的匹配、替换和提取。除了基本的匹配功能外,JavaScript的正则表达式还支持一些高级用法,本文将详细介绍这些高级用法,并提供相应的源代码示例。通过exec方法执行正则表达式,我们可以得到一个匹配结果数组,其中索引为1的元素是区号,索引为2的元素是号码。表示匹配逗号和可能的空格。表示匹配一个名字,其中包含名和姓,replace方法将匹配到的文本替换为"姓, 名"的形式。表示匹配括号中的三个数字, 阅读详情

相关推荐

精通JavaScript正则表达式的高级技巧与陷阱防范

本文深入探讨了JavaScript中正则表达式(RegExp)的高级用法,包括全局匹配、替换功能的细节以及如何处理/g和/y标志及其与.lastIndex属性的关系。同时,文章揭示了这些特性可能引发的常见错误,并提供了相应的解决方案。

weixin_36204513的博客 476

JS高级第四天

JS高级第四天 1.正则表达式概述 1.1什么是正则表达式 正则表达式( Regular Expression)是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。 正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线,昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换) ,或从字符串中获取我们想要的特定部分(提取)等。 1.2正则表达式的特点 1.灵活性、逻辑性和功能性非常

I_love_bc的博客 226

专栏丨华为HN8145XR光猫获取超级管理员密码

摘要:本文详细介绍了华为HN8145xr光猫获取超级管理员权限的完整步骤。首先通过ONT使能工具补全shell,然后利用Telnet登录光猫后台进行操作。文章提供了多种获取超级密码的方法,包括配置文件解密、一键查询工具等,并针对联通光猫特别说明了默认密码格式(CUAdmin+后八位数字)。此外,还介绍了恢复出厂设置、修改SSID等实用操作,帮助用户完全掌控光猫设备。文末附有详细的命令行操作指南,适合有一定技术基础的用户参考。

8248

正则表达式 传参 插入参数 或者插入变量

动态控制小数位数,给正则表达式传参需要使用new RegExp()构造函数 平时我们使用字面量写法 let value = subItems.keyValue.replace(/^(\-)*(\d+)\.(\d{2}).*$/, '$1$2.$3'); 需要使用new RegExp()构造正则,插入变量 1、两侧的"/"需要去除。 2、当中的转义字符\需要用"\\"。 3、变量用字符串拼接。 const accuracy = 3 const regx = new RegExp("^(\\-)*(\\d+

祖先生的博客 2787

读《认知科学导论》(萨伽德) 总结

1. 作者的写作思路 本书是建立在对心智的理解采用表征与计算的方式。对心智表征-计算的理解方式是与计算机的本质相联系。计算机本质上是一个符号系统,符号系统包含两个部分,一个是符号,另一个是建立在符号上的操作。对心智采用表征-计算的方式理解,很容易与计算机建立起类比关系。同时人们在探索人工智能领域采用表征-计算方式已经取得了无数辉煌的成就,故表征-计算式现在研究的主流方法。 本书的有两个部分组成

xiaoqiangXX的专栏 3450

NI-HIL学习开篇

自我介绍下,四年零部件厂工作经验,一年(至今)主机厂工作经验,负责BMS/VCU方向软硬件测试。 学习目的:把握新能源汽车的测试发展趋势,顺应历史的洪流。 学习目标:1.掌握HIL开发测试流程中的IO配置、开环验证、闭环模型开发及调试、自动化测试 2.掌握第三方模型的搭建及simulink关联仿真(2019.05.21新增:需巩固练习matlab基础——2...

masonson的专栏 4177

正则表达式 丨JavaScript 高级

正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等。其他语言也会使用正则表达式,本阶段我们主要是利用 JavaScript 正则表达式完成表单验证。

黑马程序员官方博客 344

拆解一个带主动均衡的BMS模块:从变压器、MOS管矩阵到控制逻辑,图文详解内部设计与成本构成

本文深度拆解了一款带主动均衡功能的BMS模块,详细解析了其核心架构、元器件选型与成本构成。通过高频变压器、MOS管矩阵等硬件设计,该模块实现了高达87%的能量转移效率,远超普通被动均衡方案。文章还揭示了汽车级PCB设计、软件策略优化等关键技术细节,为锂电池管理系统设计提供了实用参考。

weixin_42638178的博客 345

JS:正则表达式

String String.match(RegExp) 使用一个字符串调用(其原型对象中的)match方法,传入一个正则表达式对象作为参数,返回一个数组。 如果正则表达式对象具有g标识符,则返回数组中包含全部匹配结果,否则返回第一次匹配的结果。 var str="1 plus 2 equal 3" var res = str.match(/\d/g) console.log(res)//...

大空翼 つばさ 587

iOS面试题大全(附带答案)

C语言相关面试题 1.static有什么用途? 答案:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数。 static 属于静态变量,使用它修饰的变量生命周期是整个源程序。 @1.在函数体内的 static 变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; @2.在模块内的 static 全局变量可以被模块内所有函数访问,但不能被模块外其它函数访问; @3.在模块内的 static 函数只被这一模块内的其它函数调用,这个函数的使用范围被限

IOSNF的博客 2424

光芯片Photodiode 原理,设计与版图

但是光电二极管相对较大,因为需要接收足够的入射光线,此外,光电二极管的厚度比较小,通常位于 1 um 以下(为了波导模式更好地在波导中传输,减少损耗)。从下图中可以看出,当反偏时,即有光在耗尽层被吸收被转换为电流信号时,增加反向偏压几乎不影响反向电流,因此,对于光电二极管来说,反向电压并不影响反向电流的大小。不施加外部电压(开路状态),光生电压直接输出,流出的电流受到抑制,在两端积累一定的电位差,类似太阳能电池,具体特点是噪声低,但响应速度慢。因此,需要尽可能的减少暗电流,以增加元件对光的灵敏度。

u011699626的博客 980

带参数的正则表达式

需求: 1.替换字符串中特定的字符 如: “abc123abc456” 将字符串中的abc替换为”$” var regStr = "abc"; var reg = new RegExp(regStr,'g'); // 'g'代表全局 var testStr = "abc123abc456"; testStr.replace(reg,"$"); // $123$456 如果需要更换规则,只需...

张营的技术博客 4361

[QMT量化交易小白入门]-七十六、从tick数据中获取高频交易的量价背离信号

本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来和大家一起沟通,共同进步。

木头大左的博客 790

JavaScript高级(3)——js中的正则表达式

正则表达式 正则表达式目标 能够说出正则表达式的作用 能够写出简单的正则表达式 能够使用正则表达式对表单进行验证 能够使用正则表达式替换内容 正则表达式目录 正则表达式概述 正则表达式在JavaScript中的使用 正则表达式中的特殊字符 正则表达式中的替换 正则表达式概述 什么是正则表达式 正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式。在JavaScript中,正则表达式也是对象。 正则表达式通常用来被检索、替换符合某个模式(规则)的文本,例如验证表单:用户名

curacaolb的博客 325

YOLOv8自定义训练:车牌识别全流程(从标注到推理,附可视化代码)

车牌检测全流程实践指南 摘要:本文详细介绍了基于YOLOv8的车牌检测完整实现方案。针对车牌检测中的三大难点(小目标、多角度、光照变化),提供了从数据准备到模型部署的全流程解决方案。重点包括:1)数据采集与标注规范;2)针对小目标的YOLOv8模型优化配置;3)K-means锚框聚类方法;4)训练参数调优策略。通过实际验证,该方法可获得95%以上的检测准确率,并附有完整的代码实现和可视化工具,便于开发者快速复现应用。 (字数:149字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 849

lwip-2.0.3

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

JavaScript高级 面向对象、正则表达式

JavaScript高级 面向对象、正则表达式 学习目标: 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 掌握在 JavaScript 中使用正则表达式 typora-copy-images-to media JavaScript 高级 目标 理解面向对象开发思想 掌握 JavaScript 面向对象开发相关模式 掌握在 JavaScript 中使用正则表达式 案例演示 贪吃蛇 回顾 由于 JavaScript 高级还是针对 JavaScript 语言本身的一个进

weixin_41860983的博客 545

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

正则表达式在JS中的高级用法

本文深入探讨了正则表达式在JavaScript中的高级应用。首先介绍了正则表达式的基本概念,包括其在文本搜索、数据验证和模式匹配中的使用。随后,文章详细解析了正则表达式的几个关键高级功能:捕获组的使用、模式匹配的构建、替换和匹配替换的操作、全局与局部搜索的实现,以及正则表达式的优化和性能提升策略。通过这些高级技巧,开发者可以更有效地处理复杂的文本数据,提升工作效率和代码质量。文章旨在帮助读者深入理解并掌握正则表达式在JavaScript中的强大功能。

qq_35974860的博客 100

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JavaScript系列(83)--正则表达式高级详解

JavaScript之旅第八十三站

欢迎来到这里,希望文章能对你有所帮助 798

JavaScript高级正则表达式

   欢迎加入前端技术营!如果你也是前端学习者或者对前端有学习的想法,那就跟着我一起从零开始进击前端。   致力于尽可能详细且简洁的介绍前端知识、自己的捷径,也是学习路上的记录。欢迎探讨 文章目录JavaScript高级第04天笔记1.正则表达式概述1.1什么是正则表达式1.2 正则表达式的特点2.正则表达式在js中的使用2.1正则表达式的创建2.2测试正则表达式3.正则表达式中的特殊字符3.1正则表达式的组成3.2边界符3.3字符类3.3.1 [] 方括号3.3.2量词符3.3.3用户名表单验证3.3.

N奈斯先生的博客 868

一文掌握JS正则表达式常用方法和高级应用

其中,\d表示数字,{n}表示前面的字符匹配n次,[...] 表示匹配括号内任意一个字符,^表示匹配字符串的开始,$表示匹配字符串的结束。(1)正则表达式/[abc]/可以匹配字符a、b或c中的任意一个,正则表达式 /\d{3}/可以匹配三个连续的数字字符,正则表达式/(red|green|blue)/可以匹配单词red、green或blue中的任意一个,正则表达式 /(\w+)\s+\1/ 可以匹配重复出现的单词,例如hello hello或world world。如果没有找到匹配的文本,返回null。

zjjcchina的博客 253

javascript正则表达式高级篇

javascript正则表达式 通过上面基础篇和中级篇的学习,我相信我们都能够写出漂亮的正则了,但是一些特殊的功能也许还需要我们继续往下学习这些高级篇的知识。 正则表达式的贪婪模式和懒惰模式: 贪婪模式和懒惰模式用言语很难讲解清楚,我们这里使用例子的形式来进行讲解,当然下面的一些知识也会以例子的形式来表达。 var regExp = /8.*8/; var regExpTwo = /8.

chenqingmiaomiao的专栏 1092

JavaScript高级之正则表达式

1. 正则表达式概述 1.1 什么是正则表达式 正则表达式( Regular Expression )是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象。 正则表通常被用来检索、替换那些符合某个模式(规则)的文本,例如验证表单:用户名表单只能输入英文字母、数字或者下划线, 昵称输入框中可以输入中文(匹配)。此外,正则表达式还常用于过滤掉页面内容中的一些敏感词(替换),或从字符串中获取我们想要的特定部分(提取)等 。 其他语言也会使用正则表达式,本阶段我们主要是利用 JavaSc

zep 347

JavaScript 高级4 :正则表达式

JS高级:正则表达式、正则表达式特殊字符、正则表达式中的替换

CaptainDrake的博客 958

js高级之正则表达式

理论基础: 正则表达式:也叫规则表达式,按照一定的规则组成一个表达式 作用:匹配字符串的 组成:由元字符或者限定组成的一个式子 常用元字符:

一只前端小白的博客 298

JavaScript高级之正则表达式的使用

JavaScript高级之正则表达式的使用

qq_43537721的博客 455

16-JavaScript高级④(正则表达式)

JavaScript高级④1. 正则表达式概述1.1 什么是正则表达式1.2 正则表达式的特点2. 正则表达式在js中的使用2.1 正则表达式的创建2.2 测试正则表达式 test3. 正则表达式中的特殊字符3.1 正则表达式的组成3.2 边界符3.3 字符类3.3.1 [] 方括号3.3.2 量词符3.3.3 括号总结3.4 预定义类4. 正则表达式中的替换4.1 replace替换4.2 正则表达式参数 1. 正则表达式概述 1.1 什么是正则表达式 正则表达式( Regular Expression

行如逆水行舟,不进则退 488
上一篇: JS高级-函数进阶
下一篇: ES6基础总结(上)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值