正则基础
lucian55 opened this issue · comments
lucian commented
正则基础
1.常用元字符
- \d:表示任意数字
- \w:表示A到Z,a到z,0到9和下划线这些常用的字符
- \s:表示一切不可见字符(不可见字符指在编辑器里显示不出来的,例如空格、回车、换行、tab制表符)
- . :表示除回车\r和换行\n之外的一切字符。
- \b :边界(常用字符和不常用字符逻辑上的分割)
2.表示位置的元字符
- ^:修饰出现在它后边的字符。表示出现在后边的字符必须是字符串的第一位。
- $:修饰出现在它前边的字符,表示出现在它前边必须是字符串的最后一位。
3.表示数量的元字符
- {n} :n是一个非负整数,匹配确定的n次
- {n,m}:n和m均为非负整数,其中n<=m,最少匹配n次最多匹配m次。
- {n,}:n是一个非负整数,表示至少匹配n次。
- * 表示匹配0次或多次,等价于{0,}
- + 表示匹配一次或多次,等价于 {1,}
- ?表示出现0次或1次,等价于{0,1}
4.常用修饰符
- 全局匹配修饰符 g
- 不区分大小写修饰符 i
- 行首行尾修饰符 m
5. 正则中两种表示或运算的方式 | []
- 区别:把 | 左右两边的一到多个字符当成一个整体对待。[]表示任意字符中选其一。ab|bc表示匹配ab或bc。[abcd]表示从abcd中任选一个
6.用正则表达所有的字符
- /[\d\D]/; 大写的D表示非数字字符。即所有字符。/[\s\S]/;所有不可见字符和所有可见字符(不可见字符是在编辑器中不显示的字符,例如空格,回车,tab等)。/[\w\W]/;所有常用字符和非常用字符
7.反字符集合[^abc]:
- ^在正则表达式开始部分的时候表示开头的意思,例如/^c/表示开头是c;但是在字符集合中,它表示的是类似“非”的意思,例如[^abc]就表示不能是a、b和c中的任何一个。[^0-9]表示非数字。[^a-z]表示非小写字符,以此类推
8.常用正则
- 有效数字的正则,不可以以0开头,可以是小数,可以有+或—号
/^[+-]?(\d|([1-9]\d+))(\.\d+)?$/
- 汉字
/\u4e00-\u9fa5/
- 匹配18-65
/^((1[8-9])|([2-5]\d)|(6[0-5]))$/
- 同时包含数字和字母的用户名 长度在8-15之间
/^(?!\d+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{8,15}$/
- 去掉首位空格
/^ +| +$/g
- 去掉中间多余空格
/ +/g