match(),test()

本文深入探讨了JavaScript中正则表达式的match()和test()方法的使用技巧,包括局部和全局搜索的区别,以及如何通过正则表达式进行精确匹配和模式测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

match()方法:可在字符串中找到指定的值,或者找到一个或者多个正则表达式的匹配。

形式:str.match('str')   str.match(/regexp/)   //str指字符串

 console.log('http://giftwrapped.com/picture.jpg'.match('.gif'))

返回的结果是:

返回的是一个数组,0:首次匹配的结果,尽管字符串中可能会包含多个需要查询的指定字符串,但是由于不是全局检索,所以只会返回首次出现的指定字符串。

index:首次出现字符串的索引index。

input: 相当于需要检索的整个字符串。

groups:undefined    //ps.这个我也不太懂是什么属性

上面是查找指定字符串成功的结果。如果是查找失败,结果返回一个null。

console.log('my name is zhangSiMing, my age is 23'.match(/ng/g));

上面是查找指定正则表达式的匹配的值,而且是全局查找。

返回的结果是一个数组,是所有查找到的结果。

那么,如果不是全局查找呢?

console.log('my name is zhangSiMing, my age is 23'.match(/ng/));

结果:

其实和查找指定字符串 一样的形式结果,返回一个数组。因为当你传入一个字符串时,它会自动先帮你转换为一个正则表达式。

同理,如果查询失败,返回一个null

 

test() 用于字符串,返回true/false

RegExpObject.test(string) 如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。

RegExpObject 是一个正则表达式对象  var reg = new RegExp('abcndnskhkgjkg') ==> reg:/abcndnskhkgjkg/

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值