day5-2正则表达式

正则表达式:

正则表达式对象的创建

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();

参数:字符串

返回值:布尔类型

 

 

JavascriptString对正则表达式的支持

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 是一个正整数。前面的模式 连续出现 n 次时匹配

x{n,} n 是一个正整数。前面的模式 x 连续出现至少 n 次时匹配。

 

posted @ 2019-06-26 17:55  千里之外kb  阅读(158)  评论(0编辑  收藏  举报