正则表达式和string对象的正则表达式

1.测试正则表达式
RegExp对象包含两个方法:test()和exec(),功能基本相似,用于测试字符串匹配。test()方法在字符串中查找是否存在指定的正则表达式并返回布尔值,如果存在则返回true,不存在则返回false。exec()方法也用于在字符串中查找指定正则表达式,如果exec()方法执行成功,则返回包含该查找字符串的相关信息数组。如果执行失败,则返回null。
RegExp对象的方法
方 法 功 能
test 在字符串中测试模式匹配,返回true或false
exec 在字符串中执行匹配搜索,返回结果数组。
/使用new运算符的test方法示例/
var pattern = new RegExp(‘box’, ‘i’); //创建正则模式,不区分大小写
var str = ‘This is a Box!’; //创建要比对的字符串
alert(pattern.test(str)); //通过test()方法验证是否匹配

/使用字面量方式的test方法示例/
var pattern = /box/i; //创建正则模式,不区分大小写
var str = ‘This is a Box!’;
alert(pattern.test(str));

2.使用字符串的正则表达式方法
除了test()和exec()方法,String对象也提供了4个使用正则表达式的方法。

3String对象中的正则表达式方法
方 法 含 义
match(pattern) 返回pattern中的子串或null
replace(pattern, replacement) 用replacement替换pattern
search(pattern) 返回字符串中pattern开始位置
split(pattern) 返回字符串按指定pattern拆分的数组

/使用match方法获取获取匹配数组/
var pattern = /box/ig; //全局搜索
var str = ‘This is a Box!,That is a Box too’;
alert(str.match(pattern)); //匹配到两个Box,Box
alert(str.match(pattern).length); //获取数组的长度

/使用search来查找匹配数据/
var pattern = /box/ig;
var str = ‘This is a Box!,That is a Box too’;
alert(str.search(pattern)); //查找到返回位置,否则返回-1

PS:因为search方法查找到即返回,也就是说无需g全局

/使用replace替换匹配到的数据/
var pattern = /box/ig;
var str = ‘This is a Box!,That is a Box too’;
alert(str.replace(pattern, ‘Tom’)); //将Box替换成了Tom

/使用split拆分成字符串数组/
var pattern = / /ig;
var str = ‘This is a Box!,That is a Box too’;
alert(str.split(pattern)); //将空格拆开分组成数组

//注意test,exec的方法个string对象匹配的正则表达式的写法顺序
ps:整理来自于51cto一个讲师的笔记……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值