正则表达式不管是做哪方面开发的朋友都会使用到,但是有好多人不太懂正则正则表达式,又因为用的频率比较低的缘故又懒得去看,用的时候就直接到网上找一下,但经常在网上去找很久,结果也不一定跟需要的符合。
正则表达式不管是做哪方面开发的朋友都会使用到,但是有好多人不太懂正则正则表达式,又因为用的频率比较低的缘故又懒得去看,用的时候就直接到网上找一下,但经常在网上去找很久,结果也不一定跟需要的符合。
数字的正则
纯数字正则:^[0-9]*$
有n位的数字正则:^\d{n}$
至少有n位数字的正则:^\d{n,}$
位数在m-n位之间的正则:^\d{m,n}$
匹配整数(不区分正负数):^-?[1-9]d*$
匹配负整数:^-[1-9]d*$
字符串的正则
纯英文字母的正则(不区分大小写):^[A-Za-z]+$
纯英文大写字母的正则:^[A-Z]+$
纯英文小写字母的正则:^[a-z]+$
只有数字和26个英文字母的正则:^[A-Za-z0-9]+$
字符长度为在m-n位之间的正则:^.{m,n}$
以字母开头,长度在6~18之间,只能包含字母、数字和下划线:^[a-zA-Z]\w{5,17}$
以字母开头,长度在6~18之间,只能包含字母、数字不包含下划线:^[a-zA-Z][a-zA-Z0-9]{4,15}$
必须且只能包含数字和字母的正则:^(?![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位之间。
身份证号(只验证了15位或18位数字)正则:^d{15}|d{18}$
稍微讲解一下规则(可以跟上面的实例相互验证,加强理解)
\w:表示的是数字、字母及下划线。
\d:表示的只是数字。
^:字符串的开始位置。如果是在[ ]里面的话则表示“非”的意思,就是排除掉[ ]里面包含的内容
^n:表示必须以 n字符串 开头。
$:字符串的结束位置。
?=n:表示后面紧接着跟着字符串 n 。
?!n:表示其后不是紧接跟着字符串 n 。
以上就是正则表达式不包含的详细内容,更多请关注编程网其它相关文章!