JS笔记5.4 RegExp类型
Posted il mio Carolina
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS笔记5.4 RegExp类型相关的知识,希望对你有一定的参考价值。
RegExp类型包含信息:模式和标志
创建RegExp对象:
方法一:
字面量形式
var expression = /pattern/flags;
flags:
- g:全局模式,模式将被应用于所有字符串,而非发现第一个匹配项时停止
- i:不区分大小写(ignorecase)
- m:(multiline)多行模式,到达一行文本末尾时还会继续查找下一行
方法二:
RegExp(patternString[, flagsString])构造函数
var pattern2 = new RegExp("\\[bc\\]at", "i");
相当于:var pattern2 = /\[bc\]at/i;
注:
ECMAScript3中所有字面量形式创建的RegExp对象共享一个RegExp实例,而所有构造函数创建的RegExp对象各自拥有一个RegExp实例
ECMAScript5中两种方式相同
RegExp实例属性
- global:布尔值,是否设置了g标志
- ignoreCase:布尔值。是否设置了i标志
- multiline:布尔值,是否设置了m标志
- source:字符串。RegExp对象的模式。(字面量形式中的字符串,而非构造函数形式中的字符串)
- lastIndex:整数,表示下一次搜索的起始位置,从零开始(test()和设置了g的exec()中,该值会随着RegExp对象的使用而变化)
RegExp实例方法
exec(string)
返回数组array,array有index和input属性
index属性:string中匹配到pattern的起始位置
input:string
array[0]:string中匹配到的字符串
array[1],array[2]....:string中与捕获组匹配的字符串
注:若正则表达式对象设置了g,那么lastIndex属性的值会随着exec()的多次调用而变化
test(string)
若在string中匹配到pattern,返回true,修改lastIndex;
若没有匹配到,返回false,lastIndex = 0
继承方法:
toLocalString()和toString():返回RegExp的字面量(字符串),如:"/cat/i"
valueOf():返回正则表达式对象本身
以上是关于JS笔记5.4 RegExp类型的主要内容,如果未能解决你的问题,请参考以下文章