啥是正则
正则可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。
对应string.test()、string.replace()、string.match()方法
组成:/ 表达式 /修饰符
修饰符
是用在整个正则的后面的 eg: /…/i 、/…/gi 相当于全局配置吧。不设置就是只找一次,区分大小
匹配规则/模式
我理解为查找规则,按某个规则来找比如:\d 只查找数字
每个子表达式只能下面10选一
特殊字符用法介绍
1.”^”可以表示否(取反),也可以表示匹配字符是不是作为开始
前者在[ ]里面是表示否,其他时候是表示作为开始
2.$是匹配结尾,和^用法差不多
3.*号,匹配前面表达式0次或多次
因为0次所以有空字符
如果是runboo* : 匹配runbo+0次或多次0
如果是(runboo)* :匹配0或多次runboo
如果是(runoo)*b :匹配0或多次runboo+b
4.+号,匹配1次或多次
区别最主要是0次时候多出来的空字符串【所以+号会更实用】
5.?号,匹配0次或1次
比如ui? 正则会找u、ui。
如果ui* 会找u、ui、uii、uiiiiii…
如果ui+ 会找ui、uii、uiiiiii…
如果ui 只找ui
6.string{n}
x{n} 表示匹配x多少次
x{n,} 至少匹配n次,
{n,m} 最少n次最多m次
7…号,匹配出\n之外的单字符
例子: 长度为3-20的所有字符:^.{3,20}$
官方常用正则表达式
看多了遮住自己写一遍就会了