1. 创建正则表达式的两种方式
var pattern = /email/;
var pattern = new RegExp('/email/');
2. 正则表达式的模式修饰符
var pattern = /email/igm
var pattern = new RegExp("/email/", "igm")
i: 表示忽略大小写
g: 表示全局匹配
m: 表示多行匹配
3. 正则表达式的使用方法:
var pattern = /email/;
var str = "email";
pattern.test(str) //测试是否匹配
pattern.exec(str); //返回匹配的数组
str.match(pattern) //返回匹配数组
str.search(pattern) //返回第一个匹配的下标
str.split(pattern) //已pattern分割字符串
str.replace(pattern, 'replacement') //替换匹配pattern的子字符串
4. 正则表达式的控制字符
^ 首字符开始匹配
$ 结尾匹配
? 0个或一个
+ 1个或多个
* 0个或多个
. 代表任意字符
{2, 3} 限定匹配个数2到3个
{2,2} 限定匹配个数为2
{2, } 限定匹配个数>=2
[A-Za-z0-9_] 匹配括号中的任意字符
() 代表分组
(?:) 非捕获分组
(?=xxx) 匹配以xxx结尾的子字符串
+? 惰性匹配模式
*? 惰性匹配模式
5. 访问匹配的分组
RegExp.$1 //访问匹配的第一个分组
RegExp.$2 //访问匹配的第二个分组
6. 正则表达式的特殊字符
\w 代表字符数字和下滑线
\W 非字符数据和下划线
\d 代表数字
\D 代表非数字
\s 代表空格、制表、换行
\b 代表是否到达边界