正则表达式必须包含字母数字和特殊字符

 我来答
户如乐9318
2022-06-15 · TA获得超过6601个赞
知道小有建树答主
回答量:2559
采纳率:100%
帮助的人:133万
展开全部
正则表达式要实现必须包含字母数字和特殊字符,那么,我们就必须判断该字符串中:

1. 包含字母

2. 包含数字

3. 包含特殊字符

为了简化问题,这里对特殊字符做下限定,指:_-@&=,大家在实际应用中,可以自行扩充这个限定的字符区间。

因此,我们的正则可以写成:

^(?=.*?[a-z])(?=.*?[0-9])(?=.*?[_\-@&=])[a-z0-9_\-@&=]+$

当然,如果需要限定字符串长度,我们后面的[a-z0-9_\-@&=]+可以改为一个长度范围,如6-16:[a-z0-9_\-@&=]{6,16}

下面我们来解读一下上面的正则:

正则以^开始,限定匹配字符串是从开始位置进行匹配,(?=.*?[a-z])是肯定型顺序 环视 ,限定当前位置的后面,能匹配.*?[a-z],也就是,能够匹配到一个字母,同理,(?=.*?[0-9])表示限定当前位置的后面,能匹配一个数字,(?=.*?[_\-@&=])表示限定当前位置的后面,能匹配一个特殊字符,而[a-z0-9_\-@&=]+就是前面那些环视限定的位置,即表示[a-z0-9_\-@&=]+中,至少匹配一个字母、一个数字、一个特殊字符,最终匹配到达字符串结束位置$。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式