谈一谈js中的正则表达式1

本文探讨了正则表达式的实际应用案例,包括如何正确使用*和+等重复限定符,以及如何通过test()和exec()方法进行模式匹配。特别强调了在不同模式下这两种方法的表现差异,并给出了具体示例。

首先 不推荐使用*,它代表0至多次 容易出现一些问题 一般多用+去实现正则;
其次是对一些东西的测试;
1. var pattern = /^\s+(.+)\s+$/;
var str = '  goo  gle  ';
alert(pattern.test(str));
alert(pattern.exec(str));
此时test方法的匹配答案为true;
exec会返回  goo  gle  ,goo  gle  ;
如果正则改为var pattern = /^\s+(.+)\s+$/g;
此时exec会返回null;而test不会受到影响;
ps:因为在贪婪模式下,所以即便去掉强制首尾exec也会返回null的;(总之还是要看具体情况 )
2.对*,+,的一些测试 :
var pattern1 = /^.+(abc)*$/;
var str1 = 'abcabc92123abc';
alert(pattern1.test(str1));
alert(pattern1.exec(str1));
此时通过exec得到的abcabc92123abc,
test:true;
如果将正则改为:var pattern1 = /^.+(abc)+$/;
此时exec返回:abcabc92123abc,abc
test:true;
3.如果不用^$强制从首开始尾部结束进行正则校验,当用test()时,字符串中只要有部分区域符合正则即会返回true;
4.当正则前后有其他规则时,或选择符要用分组符号包起来;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值