zoukankan      html  css  js  c++  java
  • 匹配数字和字母的正则表达式

    一个用户注册功能的密码有如下要求:由数字和字母组成,并且要同时含有数字和字母,且长度要在8-16位之间。

    如何分析需求?拆分!这就是软件设计的一般思路了。于是乎,拆分需求如下:

    • 不能全部是数字
    • 不能全部是字母
    • 必须是数字或字母

    只要能同时满足上面3个要求就可以了,写出来如下:

     

    1 String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$";       

     

    分开来注释一下:

    • ^ : 匹配一行的开头位置
    • (?![0-9]+$) :预测该位置后面不全是数字
    • (?![a-zA-Z]+$) :预测该位置后面不全是字母
    • [0-9A-Za-z] {8,16} :由8-16位数字或这字母组成
    • $ :匹配行结尾位置

    注:(?!xxxx) 是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。

  • 相关阅读:
    java Vamei快速教程02 方法和数据成员
    java Vamei快速教程01
    二叉树
    高效通信模型之
    高效通信模型之
    线程间通信与同步
    线程
    进程
    C++面试知识点总结
    windows下UDP服务器和客户端的实现
  • 原文地址:https://www.cnblogs.com/bluepoint2009/p/regex-expression-matches.html
Copyright © 2011-2022 走看看