美文网首页
正则表达式(二)--常用正则表达式

正则表达式(二)--常用正则表达式

作者: 今日你学左米啊 | 来源:发表于2019-07-21 22:46 被阅读0次

    正则表达式(二)--常用正则表达式

    @(study)[Maxe, markdown_study, LaTex_study]

    [TOC]

    to完结正则表达式
    承接上一篇正则的blog,这里给一点点练习讲解和常用正则

    环境变更

    因为写上一篇博客的时候我还在window环境下,因为一直很焦虑双系统用哪个的问题,我一举把win10和ubuntu16都删掉了,装了个ubuntu18...所以验证的平台去到了:
    regex

    讲解练习

    电话号码的正则

    电话号码由数字和“-”组成

    1. 如果包含区号,那么区号为三位或四位,首位是0
    2. 区号用“-”和其他数字分割
    3. 除了区号,电话号码为7到8位
    4. 手机号码为11位
    5. 11位手机号码的前2位为“13”,“14”,“15”,“17”,“18”

    小答案:
    1.固话:

    电话
    2.手机号码:
    手机

    答案:(0\d{2,3}-\d{7,8})|(^1(3|4|5|7|8)\d{9}$)

    all

    身份证号码的正则

    1. 长度:15位或者18位
    2. 如果是15位,则都是数字
    3. 如果是18位,最后一位可能为数字或字母X

    这题简单:

    答案:(^\d{15}$)|(^\d{17}(\d|X|x)$)

    身份证

    电子邮箱的正则

    1. 邮箱格式:用户名@网址.域名
    2. 用户名:字母、数字、下划线组成
    3. 网址:字母、数字
    4. 域名:2-4位字母组成,1-2个域名
    5. 不区分大小写

    小答案
    先说明的是,这个东西为了严谨,有人写过一个几百行的正则....我这里就随意写一个符合规则的罢了
    也是分成三部分考虑:(用户名)@(网址).(域名)这样子看就不难写了

    答案:^(\w+)@([0-9a-zA-Z]+)(\.[a-zA-Z]{2,4}){1,2}$

    an_3

    后两题太简单了,觉得没必要讲了.

    常用正则表达式

    放一些有特殊用途的,供大家思考思考(有很多我也没有验证过的)

    合法账号

    // 字母开头,允许5-16字节,允许字母数字下划线
    ^[a-zA-Z]\w{4,15}$
    

    合法密码

    // 至少八个字符,至少一个字母和一个数字:
    ^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
    
    // 至少八个字符,至少一个字母,一个数字和一个特殊字符:
    ^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%*#?&])[A-Za-z\d$@$!%*#?&]{8,}$
    
    // 最少八个字符,至少一个大写字母,一个小写字母和一个数字
    "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
    
    // 至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
    "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}"
    
    // 最少八个最多十个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:
    "^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,10}"
    

    检验汉字

     // 汉字(编码)
     ^[\u4e00-\u9fa5]{0,}$
    

    常用1

    1. xml文件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
    2. 空白行的正则表达式:\n\s*\r    (可以用来删除空白行)
    3. HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />   
    4. 首尾空白字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$)    (可以用来删除行首行尾的空白字符)
    5. 腾讯QQ号:[1-9][0-9]{4,}    (腾讯QQ号从10000开始)
    

    常用2

    说明 正则表达式
    网址(URL) [a-zA-z]+://[^\s]*
    IP地址(IP Address) ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
    日期(年-月-日) (\d{4}|\d{2})-((1[0-2])|(0?[1-9]))-(([12][0-9])|(3[01])|(0?[1-9]))
    日期(月/日/年) ((1[0-2])|(0?[1-9]))/(([12][0-9])|(3[01])|(0?[1-9]))/(\d{4}|\d{2})
    时间(小时:分钟, 24小时制) ((1|0?)[0-9]|2[0-3]):([0-5][0-9])
    中文及全角标点符号(字符) [\u3000-\u301e\ufe10-\ufe19\ufe30-\ufe44\ufe50-\ufe6b\uff01-\uffee]
    中国大陆邮政编码 [1-9]\d{5}
    整数 -?\d+
    小数 (-?\d+)(\.\d+)?
    不包含abc的单词 \b((?!abc)\w)+\b

    参考文献

    正则表达式入门
    晚晴幽草轩轩主
    zxin
    极客学院wiki
    deerchao

    想我尽早更新的方法之一

    相关文章

      网友评论

          本文标题:正则表达式(二)--常用正则表达式

          本文链接:https://www.haomeiwen.com/subject/xekblctx.html