正则表达式:
正则表达式对象的创建
1,构造函数
var pattern =new RegExp("正则表达式","修饰符")
var pattern =new RegExp("abc","ig");
2,正则表达式字面量
var pattern = /正则表达式/修饰符;
var pattern = /abc/ig;
修饰符
i ignore case 不区分大小写
g global 全局
m multiline 多行
原型方法 :
RegExp.prototype.exec()
RegExp.prototype.test()
RegExp.prototype.toString()
var result = pattern.exec()
执行正则,从参数获取目的字符串
参数 :字符串
返回值 :类数组对象
数组:查询到的结果
index:查询到结果的索引
input:操作的字符串
如果正则表达式中有修饰符"g",这时,在pattern中会维护lastIndex属性,记录下一次开始的位置,当第二次执行exec的时候,从lastIndex开始检索。
如果正则表达式中没有修饰符"g",不会维护lastIndex属性,每次执行从开始位置检索
var result = pattern test();
参数:字符串
返回值:布尔类型
Javascript中 String对正则表达式的支持
search()
参数为一个正则表达式,返回第一个与之匹配的子串的位置,如果找不到匹配的子串,返回-1
match()
最常用的正则表达式方法,参数为正则表达式,返回由匹配结果组成的数组。当正则表达式中没有g修饰符的时候,就不是全局匹配。
replace()
用以执行检索和替换操作。第一个参数是正则表达式,第二个参数是要替换的字符串。
默认只替换第一个!
split()
参数可以为正则表达式
var str = 'hello';
console.log(str.split(''));
属性
source 包含正则表达式文本
global 布尔值,表明这个正则表达式是否带有修饰符g
ignoreCase 布尔值,表明这个正则表达式是否带有修饰符i
multiline 布尔值,表明这个正则表达式是否带有修饰符m
lastIndex 如果匹配模式带有g,这个属性存储在整个字符串中下一次检索的开始位置,这个属性会被exec(), test()方法调用到
数量词:
x{n} n 是一个正整数。前面的模式 x 连续出现 n 次时匹配
x{n,} n 是一个正整数。前面的模式 x 连续出现至少 n 次时匹配。