正则表达式 RegExp
一、正则表达式的概念
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
二、正则表达式的组成
正则表达式由元字符,字符类,和量词组成 /^([字符类]{量词})([字符类]{量词})$/
三、正则对象 RegExp
- 通过new 关键字声明正则对象
// 正则规则: 可以是字符串类型,也可以是正则
var patt = new RegExp(正则规则, 修饰符)
var patt = new RegExp('a', 'g')
var patt = new RegExp(/a/, 'g')
- 字面量的形式
var patt = /正则规则/修饰符
两种方式的区别
字面量形式不能接受变量
四、正则对象的方法
-
test() : 执行一个检索,用来查看正则表达式与指定的字符串是否匹配。返回 true 或 false。
-
exec() : 在一个指定字符串中执行一个搜索匹配。返回一个结果数组(包含所有匹配的结果)或 null(没有匹配则为null)。如果要检索出所有匹配的结果,则需要使用循环
该方法在执行时,通过lastIndex属性会纪录每次匹配结束的位置,下次执行则从lastIndex纪录的位置开始; 找不到匹配的结果时,lastIndex属性会重置为0, 从头开始
var patt = /o/g;
var str = 'hello world oo';
var res1 = patt.exec(str)
var res2 = patt.exec(str