字面量形式:var express=/pattern/flag;
flag:
g:表示全局模式,即模式将被应用于字符串,而非在发现第一个匹配项时立即停止。
i:表示不区分大小写模式,即在确定匹配项时忽略模式与字符串的大小写。
m:表示多行模式,即在到达一行文本末尾时还会继续查找下一行中是否存在模式匹配的项。
模式中用到的所有元字符都必须转义。正则表达式的元字符包括:( { [ ^ $| ) ? * + .] }这些元字符在正则表达式中都有多种用途。
构造函数形式:var b=new RegExp["parttern","flag"]
因为在构造函数中,参数是以字符串形式存在的,所以有时需要对字符进行双重转义。例:
字面量:/\[bc\]at/
构造函数:”\\[bc\\]at“
RegExp的每个实例都具有下列属性:
1.global:表示是否设置了g标志
2.ignoreCase:表示是否设置了i标志
3.lmultiline:表示是否设置了m标志
4.source:正则表达式的字符串表示
RegExp实例方法:
1.exec()
exec()接受的参数是要应用模式的字符串,然后返回包含第一个匹配项信息的数组。返回的数组是Array的实例,但包含两个额外的属性:index
和input
,index表示匹配项在字符串中的位置,input表示应用正则表达式的字符串。在数组中,第一项是整个模式匹配的字符串,其他项是与模式中的捕获组a (and b( and c)?)?此时包含三个捕获组 a,ab,abc
匹配的字符串(如果模式中没有捕获组,则值包含一项)。
var a="this is my life";
var pattern=/is/gi;
var res=pattern.exec(a);
console.log(res.index)
console.log(res.input)
console.log(res[0]);
2.test()
接受一个字符串参数,在模式与该参数匹配情况下返回true。
3toLocalString()与toString()都会返回正则表达式的字面量。
4.RegExp构造函数部分属性:
input($_)
:最近一次要匹配的字符串,
lastMatch($&):
最近一次的匹配项。
lastParen($+)
:最近一次匹配的捕获组。
leftContext($
):input字符串中lastMatch之前的文本。
mutline($*):
表示是否所有表达式都支持多行模式
rightContent($')
:input字符串中lastMatch之后的文本。
5正则表达式语法
点击查看>>