一.什么是正则表达式
正则表达式(regular expression)是一个描述字符模式的对象。
测试正则表达式
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!';
/*使用exec 返回匹配数组*/
var pattern = /box/i;
var str = 'This is a Box!';
alert(pattern.exec(str)); //匹配了返回数组,否则返回null
二 String 对象中的正则表达式方法
方法 | 含义 |
match(pattern) | 返回pattern中的字串或null |
replace(pattern,replacement) | 用replacement替换pattern |
search(pattern) | 返回字符串中pattern开始位置 |
splict(pattern) | 返回字符串按指定pattern拆分的数组 |
三 RegExp对象的静态属性
属性短名 | 含义 | |
input | $_ | 当前被匹配的字符串 |
lastMatch | $& | |
属性短名 含义
input $_ 当前被匹配的字符串
lastMatch $& 最后一个匹配字符串
lastParen $+ 最后一对圆括号内的匹配子串
leftContext $` 最后一次匹配前的子串
multiline $* 用于指定是否所有的表达式都用于多行的布尔值
rightContext $' 在上次匹配之后的子串
/*捕获性分组和非捕获性分组*/
var pattern = /(\d+)([a-z])/; //捕获性分组