var expression = /pattern/flags;
以上为创建正则表达式格式,斜线包围的为正则表达式,flags 有三个值可以选择
本文地址:http://www.cnblogs.com/veinyin/p/7607769.html
1 flags 可选值:
-
g : 全局 ( global ) 模式,应用于所有字符串,而非遇到第一个匹配项即停止
-
i : 不区分大小写 ( case-insensitive ) 模式,匹配时忽略模式与字符串的大小写
-
m : 多行 ( multiline ) 模式,在到达一行末尾时还会继续查找下一行中是否存在于模式匹配的项
2 RegExp 实例方法
2.1 exec() :
主要方法,用于捕获组
接受一个应用模式的字符串,返回第一个匹配项信息的数组,没有匹配项返回 null
1 var pattern = /regex/g 2 3 var matches = parttern.exec(text); 4 5 alert(matches.index); 6 7 alert(matches[0]); 8 9 alert(pattern.lastIndex);
2.2 test() :
返回值为 true 或 false,故常用于 if 语句
if(pattern.test(text)) statement;
3 RegExp 构造函数属性
3.1 由于短属性名 opera 不太支持,比较偏爱长属性名
1 alert(RegExp.lastMatch); //输出最近一个匹配项 ( 与整个正则表达式匹配的字符串 ) 2 3 alert(RegExp.input); //输出最近一次要匹配的字符串 ( 原始字符串 ) 4 5 alert(RegExp.lastParen); //输出最近一次匹配的捕获组 6 7 alert(RegExp.rightContext); //匹配字符串后的字符串 8 9 alert(RegExp.leftContext); //匹配字符串前的字符串
3.2 9 个用于存储捕获组的构造函数属性
依次为 RegExp.$1 ~ RegExp.$9,分别用于存储第一 ~ 第九个匹配的捕获组,在调用上面两个实例方法时,这些属性将会自动填充