1.正则表达式字符串匹配
1.1 横向模糊匹配
正则表达式只有精准匹配时没有太大意义的,其强大之处在于模糊匹配
横向模糊匹配指长度不固定,ab{2,5}c 表示第一个字母时 a,最后一个字母是 c,中间有 2-5 个 c
var regex = /ab{2,5}c/g
var string = 'abc abbc abbbc abbbbc adddc'
console.log(string.match(regex)) // outPut: ['abbc', 'abbbc', 'abbbbc']
1.2 纵向模糊匹配
纵向模糊匹配指在具体某一位字符时,它可以有多种可能 /a[123]b/g 表示第二位可以说 1 2 3 中的某一个
var regexp = /a[123]b/g
var string = 'a0b a1b a2b a3b a4b'
console.log(string.match(regexp)) // outPut: ['a1b', 'a2b', 'a3b']
2.字符组
[abc] 叫字符组,表示匹配一个字符,
2.1 范围表示
[123456abcdefghijklm] 可以写成 [1-6a-fg-m]
2.2 排除字符组
[^abc] 表示a b c 以外的任意一个字符
2.3 常用简写
\d 就是 [0-9],表示是任意一个数字
\D 就是[ ^ 0-9],表示数字以外的任意字符
\w [0-9a-zA-Z_] 表示数字、大小写字母和下划线 (word)