正则表达式不*含(正则表达式大全)
正则表达式不*含(正则表达式大全)
正则表达式不管是做哪方面开发的朋友都会使用到,但是有好多人不太懂正则正则表达式,又因为用的频率比较低的缘故又懒得去看,用的时候就直接到网上找一下,但经常在网上去找很久,结果也不一定跟需要的符合。今天我把咱们经常用到的一点先放上来,如果那些用的多的在慢慢添加更新。
数字的正则
1、纯数字正则:^[0-9]*$
2、 有n位的数字正则:^\d{n}$
3、至少有n位数字的正则:^\d{n,}$
4、位数在m-n位之间的正则:^\d{m,n}$
5、匹配整数(不区分正负数):^-?[1-9]d*$
6、匹配负整数:^-[1-9]d*$
字符串的正则
1、纯英文字母的正则(不区分大小写):^[A-Za-z]+$
2、纯英文大写字母的正则:^[A-Z]+$
3、纯英文小写字母的正则:^[a-z]+$
4、只有数字和26个英文字母的正则:^[A-Za-z0-9]+$
5、字符长度为在m-n位之间的正则:^.{m,n}$
6、以字母开头,长度在6~18之间,只能*含字母、数字和下划线:^[a-zA-Z]\w{5,17}$
7、以字母开头,长度在6~18之间,只能*含字母、数字不*含下划线:^[a-zA-Z][a-zA-Z0-9]{4,15}$
8、必须且只能*含数字和字母的正则:^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,10}$
以这个为例稍微说一下
^ 表示一行的开始位置
(?![0-9]+$) 表示不全是数字
(?![a-zA-Z]+$) 表示不全是字母
[0-9A-Za-z] {6,10} 表示由6-10位数字或这字母组成
$ 匹配行结尾位置
这个三个条件决定了这个表达式 是必须*含数字和字母 其只能*含数字和字母 并且字符长度位数是在6-10位之间。
9、身份证号(只验证了15位或18位数字)正则:^d{15}|d{18}$
稍微讲解一下规则(可以跟上面的实例相互验证,加强理解)
\w:表示的是数字、字母及下划线。
\d:表示的只是数字。
^:字符串的开始位置。如果是在[ ]里面的话则表示“非”的意思,就是排除掉[ ]里面*含的内容
^n:表示必须以 n字符串 开头。
$:字符串的结束位置。
?=n:表示后面紧接着跟着字符串 n 。
?!n:表示其后不是紧接跟着字符串 n 。
今天先写这些明天还会继续补充一下其他的,