js 正则表达式

new创建正则表达式两种方式

var box = new RegExp('box'); //第一个参数字符串

var box = new RegExp('box', 'ig'); //第二个参数可选模式修饰符

模式修饰符的可选参数

参  数

含  义

i

忽略大小写

g

全局匹配

m

多行匹配

自变量方式创建正则表达式

var box = /box/; //直接用两个反斜杠

var box = /box/ig; //在第二个斜杠后面加上模式修饰符

 

正则表达式测试

 

RegExp对象包含两个方法:test()和exec(),功能基本相似,用于测试字符串匹配。test()方法在字符串中查找是否存在指定的正则表达式并返回布尔值,如果存在则返回true,不存在则返回false。exec()方法也用于在字符串中查找指定正则表达式,如果exec()方法执行成功,则返回包含该查找字符串的相关信息数组。如果执行失败,则返回null。

 

/*使用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));

 

 

 

/*使用一条语句实现正则匹配*/

 

alert(/box/i.test('This is a Box!')); //模式和字符串替换掉了两个变量

 

/*使用exec返回匹配数组*/

 

var pattern = /box/i;

 

var str = 'This is a Box!';

 

alert(pattern.exec(str)); //匹配了返回数组,否则返回null

 

 

 

上一篇:通过正则表达式提取字符串信息


下一篇:责任链模式(Chain of Responsibility Pattern)