zoukankan      html  css  js  c++  java
  • 正则

    一、需求

    要求长度为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}$

  • 相关阅读:
    (10)C#静态方法,静态字段,静态类,匿名类
    (9)C#类
    (8)C#字符串
    (7)C#流程控制
    (6)C#方法,作用域,方法重载
    (5)C#运算符
    各个品牌主板快速开机启动
    口袋的天空
    繁忙的都市
    取水
  • 原文地址:https://www.cnblogs.com/liulinjie/p/7562477.html
Copyright © 2011-2022 走看看