理解正则
正则的应用场景很多,匹配过滤有价值的内容,所以用好正则有事半功倍的效果
正则就是用有限的符号,表达无限的序列
正则的一般语法就是两条斜线中间的就是正则主体,可以有许多字符表示
转义字符 \是转义字符,简单字符表示自身
1、字符集合
匹配一类字符,字符集语法用 [] 分隔 ^表示非的意思
正则设置了一些字符集,
[0123456789] 相当于[0-9]
2、量词
如果需要匹配多个字符,正则提供了量词的功能,正则中的量词有多个,? + * {n} {m, n}, {m, }
凡是表示范围的量词,都是优先匹配上限而不是下限,在后面加上?的话就会进入非贪婪模式
3、字符边界
在外界有匹配要求,^ 在[]外面的时候代表的是开始
$ 在[]外面的时候代表的是结束
\b 表示单词的边界
4、选择表达式
123|456|789 表示匹配三个中的一个
5、分组与引用
分组使用的是圆括号,不能放在[]中,选择表达式可以配合使用选择表达式,例如(abc||cvb){2}
6、修饰符
默认正则是区分大小写的,正则提供了修饰符的功能
g 正则遇到的第一个匹配的字符就会结束,加上全局修复符,可以让匹配到结束
i 正则默认的是区分大小写的情况,i可以忽略大小写
m 正则在默认的情况下,^和$只能匹配字符串的开始和结尾,m修饰符可以让^和$匹配行首和行尾