正则表达式不包含

正则表达式不管是做哪方面开发的朋友都会使用到,但是有好多人不太懂正则正则表达式,又因为用的频率比较低的缘故又懒得去看,用的时候就直接到网上找一下,但经常在网上去找很久,结果也不一定跟需要的符合。

正则表达式不管是做哪方面开发的朋友都会使用到,但是有好多人不太懂正则正则表达式,又因为用的频率比较低的缘故又懒得去看,用的时候就直接到网上找一下,但经常在网上去找很久,结果也不一定跟需要的符合。

数字的正则

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 。

推荐阅读