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

来源:互联网 发布:类似商务通的软件 编辑:程序博客网 时间:2024/06/05 12:02

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