基本元字符
1) . 表示任一非换行符
2)() 表示分组和提高优先级
3) [] 表示一个字符。 用法:[abc] //出现[]中任一字符,匹配a或b或c
4) | 或 用法:正则表达式|正则表达式
转意字符
\
限定元字符
1) * 紧跟前面的一个字符或一组字符出现0次到多次
2)+ 紧跟在前面的字符出现1次或者多次
3)? 紧跟在前面的字符出现0次到1次
例:在一段字符中检查是否含有http协议的字符串或者https协议的字符串 https?://.+
4){数字} 紧跟在前面的字符出现指定次数
5){数字,}紧跟前面的字符至少出现指定的次数
6){数字,数字} 紧跟在前面的字符出现指定次数的范围
首尾正则表达式
1) ^ 表示必须以xxx开头 例:^a,以a开头
2)$ 表示必须以xxx结尾 例: a$ 以a结尾
简写元字符
\s 空白字符
\S 非空白字符
\w字符(包含字母数字下划线)
\W表示非字符
\d表示数字
\D非数字
其它
\1表示出现次数,例如:\1是匹配第一个分组匹配到的内容,也就是所谓的\1引用了第一个()匹配到的内容。demo: [1, 1, 1, 2, 1, 1, 2, 1].join('').match(/(.)\1*/ig) 返回: ["111", "2", "11", "2", "1"]
银行卡分割cardId.replace(/(\d{4})(?=\d)/g, "$1 ")