javascript教程_最详细的JavaScript高级教程(十一)正则表达式

本文详细介绍了JavaScript中正则表达式的使用,包括字面量和对象两种初始化方式,强调了字面量的简便性。讨论了exec()方法和test()方法的区别,以及全局标志/g的影响。同时,提到了正则对象的属性,如exec方法的返回值结构和全局属性的获取。最后,阐述了test方法在条件判断中的应用。
摘要由CSDN通过智能技术生成

703155601fae605351fd025f64bfe774.png

正则表达式

概念

本节讲正则表达式在js中的使用,注意正则对象是一个引用类型。

初始化:字面量和对象使用

与对象的定义一样,我们可以使用字面量定义正则表达式,也可以使用正则对象来定义正则表达式,他们的区别是使用的转义有一定差别。

在使用字面量的时候,使用/ /把正则表达式包起来,后面可以写上匹配模式或者不写,不写默认不是全局匹配,我们在使用的时候,一般都是使用字面量来初始化,因为这样比较简单,转义也不像字符串那么复杂。

351f2842ef860a196de972848cf8ff2c.png

下面这些需要转义:

f51538487a5ae06aaafa6615e447c1b4.png

正则对象的属性

由于正则对象的属性都可以在字面变量中看得到,所以这些方法用处并不大,知道就好:

529ec14a481b03985acacec4f2737ddc.png

exec() 方法(捕获方法)

exec方法执行的结果不是所有匹配的项,而是第一个匹配到的项,他的返回值如下面的代码显示(关于捕获组的概念,我们以后用到了再讲,这里我们知道每次只会匹配一个,在数组的第0个位置返回)

19fbd1c8d8727f8f49c0330a746a8a55.png

exec方法要注意全局标志 /g 对于执行结果的影响,不写/g的时候,不是全局匹配,每一次执行都是从头开始,写了/g,匹配是全局的,下一次匹配是从上一次的基础之上继续往后匹配,看下面的例子就可以说明这个情况

3f4b829527f82cd5bbf066f0ae1fe269.png

加上/g我们再看看结果有什么变化

34a2c70276a1735a7f7fad5e4ee1e94e.png

test方法

test方法用于匹配之后返回true false,如果只想知道有无匹配,不想知道具体结果,就用这个。常用于if语句中,判断用户输入是否有效等。

3abe2ef3c24cb089fd8591486d72907d.png

全局属性

通过RegExp的属性,我们可以获知一些全局的正则信息,比如刚刚匹配输入了什么字符串,上次匹配了哪些信息,这个有点像全局的静态变量,我们看看全局属性支持哪些信息的获取

ad517d2daa45f88cb4c31b2e43533931.png

注意使用长属性名和短属性名都可以获取全局属性。我们下面看看长短属性的使用

e5aa5bc67425c8f5c8f5205f1187c731.png

37fef9c7a0b7226ab832354bd33e9d98.png

1437279f8979b90b406b2334d27bb077.png

不支持的功能

535fbf6512f87676a16089e708582f34.png

————————————————

版权声明:本文为CSDN博主「聂14昊51」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

最详细的JavaScript高级教程(十一)正则表达式_白话屋-CSDN博客_正则表达式是javascript的高级部分么​blog.csdn.net
f0f0d07dd9da3327c8bc0455dab57ef3.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值