正则表达式就是一个字符串
正则表达式用来进行匹配数据
语言无关,JS等很多地方都要使用
类似于通配符,但不仅仅是通配符
找工作的两点:项目采集器、敏感词过滤等
注意:不要想一次性写出通用表达式,够用就行,不行再改
元字符1
通用字符:. 匹配任意字符除了换行
选择字符:[ ]一对跨好重陪陪一个字符
逻辑或:| 如:a|b匹配a或者b
优先级与分组:()
调整优先级 a(b|c))匹配ab或者bc
元字符2(限定符)指紧挨着的上一个字符出现的次数
任意个字符(包含0个):* 如:ab*,匹配a,ab,abb,abbb,....
任意个字符(不包含0个):+ 同上
是否有:? 如:https?:匹配http或者https
n次重复:{n} 如:[1-9]{3} 1到9的数字重复出现3次;
至少出现n次 :{n,} 如:[1-9]{4} 1到9的数字至少出现4次;
n到m次: {n, m} 例:[a-z]{3,5} a到z的字母出现3到5次;
元字符3
开头语否定:^
限定必须开头匹配 例:^[0-9]{6} 开头必须以6个数字进行匹配;
在[ ]中使用表示不出现里面的字符 例:[^0-9]+ 字符串不以数字开头
结束与编组:$
限定必须结束匹配 例: ^[0-9]{6}$ 表示只允许6位的数字,常用在密码中
分组后引用数据
简写表达式
数字与非数字
\d \D
空字符与非空字符
\s \S
文字与非文字
\w \W
小写是正解,大写是否定