当前位置: 首页 » 资讯 » 机械 » 正文

正则表达式校验字符串格式并指定必须包含某些字符

发布日期:2023-07-01 06:04:21     浏览次数:9
核心提示:一、需求 要求长度为8-9位,开头是字母 ,必须有数字,必须有下划线 二、思路解析 写法1:^[a-zA-Z](?=.*_)(?=.*d).{7,8}$ 首先,开头是固定的,以字母开头,所以可以这样写 ^[a-zA-Z]; 然后,要求必
一、需求

要求长度为8-9位,开头是字母 ,必须有数字,必须有下划线

二、思路解析

写法1:^[a-zA-Z](?=.*_)(?=.*d).{7,8}$

首先,开头是固定的,以字母开头,所以可以这样写 ^[a-zA-Z];


然后,要求必须要有数字和下划线,我们可以这些写 (?=.*_)(?=.*d) ,这两句的目的分别是校验后面的字符串是否包含下划线和包含数字,是的话才匹配前面的开头字母;

于是,目前的正则是^[a-zA-Z] (?=.*_)(?=.*d) ,



但对长度有限制8-9位,所以加上长度的限制^[a-zA-Z](?=.*_)(?=.*d).{7,8}$

最终,完整的正则表达式就是:

^[a-zA-Z](?=.*_)(?=.*d).{7,8}$


写法2:(?=.*d)(?=.*_)^[a-zA-Z].{7,8}$

这个写法是先匹配整个字符串是否包含数字和下划线(?=.*d)(?=.*_)

有的话,才执行后面的匹配^[a-zA-Z].{7,8}$

头条分类

免责声明:本站所有信息由各公司自行发布,请在交易前确认真实合法性,本站不承担任何交易及此类作品侵权行为的直接责任及连带责任!