1.创建正则表达式
var reg = /pattern/;
var reg = new RegExp('pattern');
str = "This is a string";
reg.exec(str);
2.数量匹配
var reg = /c{n,m}/; //匹配至少n个c,至多m个c的字符串
var reg = /c*/ = /c{0,}/; //*表示前面字符的c出现0次或多次
var reg = /c+/ = /c{1,}/; //+表示前面字符的c出现1次或多次
var reg = /c?/ = /c{0,1}/; //?表示前面的c字符出现0次或1次(c可有可无)
3.贪心与非贪心
var reg = /c{1,}?/; //尽可能少的匹配c,即1个
4.首尾匹配
var reg = /^c/; //只匹配字符串开头的字符c
var reg = /c$/; //只匹配字符串结尾的字符c
5.模糊匹配
var reg = /./; //匹配除\n之外的任意字符
6.二选一匹配
var reg = /^b|c.+/; //匹配开头的b或者c.+
var reg = /^(b|c).+/; //匹配b或c开头的包括后面所有字符
7.字符集合匹配
var reg = /[abc]/; //匹配a或b或c中的任意一个字符
var reg = /^[abc]/; //匹配以a或b或c中的开头的一个字符
var reg = /[^abc]/; //匹配不是a或b或c的任意一个字符
var reg = /[a-zA-Z0-9_]/ //匹配任意一个小写、大写字母、数字和下划线
8.边界匹配
var reg = /\bc/; //匹配开头或结尾的c
var reg = /\Bc/; //匹配非边界(不是开头或结尾)的c
9.数字匹配
var reg = /\d/; //匹配一个数字
var reg = /\D/; //匹配一个非数字
10.空白匹配
var reg = /\s/; //匹配一个空格
var reg = /\S+/; //匹配非空格字符,当遇到第一个空格后停止匹配
11.单词字符匹配
var reg = /\w/; //匹配单个字符,即[a-zA-Z0-9_]
var reg = /\W/; //匹配单个非单词字符,如中文字和'?'等非单词字符
12.反向引用匹配
var reg = /(\w)\1/;
//'\1'代表第一个括号内匹配到的内容,拿去再去匹配,若'\1'失败,返回null
var reg = /(\w)(\w)\2\1/;
reg.exec('woow');
//匹配到"woow","w","o"
13.1正向预查匹配(非获取匹配)
var reg = /blue(?=idea)/; //匹配blue后是idea的blue,否则返回null,非获取匹配
var reg = /blue(?!idea)/; //匹配blue后不是idea的blue,否则返回null,非获取匹配
var reg = /industry(?:y|ies)/; //匹配结果不保存y或ies,即非获取匹配
13.2反向预查匹配(非获取匹配)
var reg = /(?<=98)windows/; //匹配98windows中的windows,非获取匹配
var reg = /(?<!98)windows/; //不能匹配98windows中的windows,非获取匹配
14.不区分大小写匹配
var reg = /b/i; //后面添加修饰符i,可以匹配b或者B
15.行首行尾匹配
var reg = /^b/m; //让匹配到第一个b作为行首或者行尾