简单快速理解常用的正则表达式

简单快速理解常用的正则表达式

正则测试

基本格式:

^[正则1]{a,b}$

含义:符合正则1且长度为a到b之间的字符串
说明:以 ^ 符号开头,以 $ 符号结尾,中括号 [] 内填写正则样式,大括号 {} 内填写位数(可以没有),最少a位,最多b位。
例子:

// 2位小写3-4位大写
// aaAAA 或  aaABCD
^[a-z]{2}[A-Z]{3,4}$

组合格式1:

^[正则1]{a,b}$|^[正则2]{c,d}$

含义:符合正则1且长度位a到b的字符串 或 符合正则2且长度位c到d的字符串
说明:每一个表达式均以 ^ 符号开头,以 $ 符号结尾,符号 | 是“或者”的意思
例子:

// 1到2位数字 或 2位小写3位大写
// 12 或 aaAAA
^[0-9]{1,2}$|^[a-z]{2}[A-Z]{3}$

组合格式2:

^[正则1]+(正则2|正则3)?$

含义:以符合正则1的字符串开头,符号 + 表示正则1的字符串可以有多个,后面接正则2或正则3
说明:每一个表达式均以 ^ 符号开头,以 $ 符号结尾,符号 | 是“或者”的意思
例子:

// 多位数字+1到2位小写字母 或者 多为数字+多位大写字母
// 123aa  或者  123456ABCD
^[0-9]+([a-z]{1,2}|[A-Z]+)?$

组合格式3:

^[正则1].+[正则2]?$

含义:以符合正则1的字符串开头,符合正则2的字符串结尾的字符串
说明:符号 .+ 表示多个任意字符

// 多位数字+任意多个字符+多个小写字母
// 123@abc
^[0-9]+.+[a-z]+$

// 以大写字母结// @123A
^.+[A-Z]+$

组合格式4:

^(?=.*[正则1])[全部正则]{a,b}$

含义:字符串必须满足正则1,然后满足全部正则,长度为a-b
说明:?=.*后面接[正则]表示必须满足这个正则

// 字符串包含数字+大写+小写,长度为3-9位
// ABCabc123
^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z]).{3,9}$

组合格式5:

^(?![正则1])[全部正则]{a,b}$

含义:字符串需要不满足[正则1],然后满足[全部正则],长度为a-b
说明:[正则1]如果是由多个正则组合的,那字符串也需要不满足[正则1]的所有子集

// 字符串不能是数字,大写,小写,数字+大写,数字+小写,大写+小写。
// 123456!
^(?![\dA-Za-z]+$).{6,10}$

// 字符串包含数字、字母、特殊符号中任意两种及以上,长度为6-20位
// ABC123  或  123456@
^(?![\d]+$)(?![a-zA-Z]+$)(?![~!@#$%^&*]+$).{6,20}$

// 字符串包含数字、大写字母、小写字母、特殊符号中任意三种及以上,长度为6-20位
// 123abc!

^(?![\dA-Z]+$)(?![\da-z]+$)(?![\d~!@#$%^&*]+$)(?![A-Za-z]+$)(?![A-Z~!@#$%^&*]+$)(?![a-z~!@#$%^&*]+$).{6,20}$

基本正则表

类型正则样式
一位数字^[0-9]$
多位数字^[0-9]+$
n位数字^\d{n}$
大写字母^[A-Z]*$
小写字母^[a-z]*$
特殊符号^[~!@#$%^&*]*$
中文^[\u4e00-\u9fa5]{0,}$

常用正则表

常用密码类型正则样式
数字+大写+小写^(?=.*\d+)(?=.*[a-z]+)(?=.*[A-Z])[\da-zA-Z]{8,20}$
数字+字母^(?=.*\d+)(?=.*[a-zA-Z]+)[\da-zA-Z]{8,20}$
数字、字母、特殊字符,任意两种及以上^(?![\d]+$)(?![a-zA-Z]+$)(?![~!@#$%^&*]+$)[\da-zA-Z~!@#$%^&*]{8,20}$
数字、大写字母、小写字母、特殊符号,任意三种及以上^(?![\dA-Z]+$)(?![\da-z]+$)(?![\d~!@#$%^&*]+$)(?![A-Za-z]+$)(?![A-Z~!@#$%^&*]+$)(?![a-z~!@#$%^&*]+$)[\da-zA-Z~!@#$%^&*]{8,20}$
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值