zoukankan      html  css  js  c++  java
  • java正则表达式(基础篇)

    正则表达式无论是在测试或者开发中都会涉及,对于一个测试人员,在以后的自动化测试中或许会用的更频繁,所以开始吧。

     1.数量表达

      {n} :出现n次

      {m,n}:最少出现m次,最多出现n次

      *:表示出现>=0次,相当于{0,}

      +:表示出现>=1次,相当于{1,}

      ?:表示出现1次或0次

      |:左右两边正则表达式选择其一

     2.字符表达

      [0123456789]:相当于[0-9],表示0-9的任意一位数字

      [a-z] :一位小写字母

      [A-Z] :一位大写字母

      [a-zA-Z] :任意一位大写或小写字母

      [a-zA-Z0-9] :任意一位数字或字母

      [^0-9] :任意一位非数字

     3.预定义字符

      (预定义字符的大写形式都是小写的反义)

      d:0-9的一位数字,相当于[0-9]

      D:1位非数字字符

      w:一位数字或字母或_,相当于[a-zA-Z0-9_]

      s:一位空字符,匹配任意空白字符,包括空格、制表符、换页符等等,相当于[f ]

      S:非空白字符相当于[^f ]

      . :除换行回车外的任何一个字符

       :匹配一个换行符

       :匹配一个回车符

     4.特殊字符

      所谓特殊字符,就是一些有特殊含义的字符,如"*.txt"中的*,简单的说就是表示任何字符串的意思。如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个ls *.txt。许多元字符要求在试图匹配它们时特别对待。若要匹配这些特殊字符,必须首先 使字符"转义",即,将反斜杠字符 () 放在它们前面。下面列出了正则表达式中的特殊字符:(请注意在方括号中,不需要转义字符。)

      ^:既可以表示否顶的意思,也表示以什么开头

      [^0-9]:表示非数字

      ^[0-9]:表示以数字开头

      :将下一个字符标记为特殊字符或原义字符 ,'n' 匹配字符 'n'、' ' 匹配换行符、序列 '\' 匹配 ""、而 '(' 则匹配 "("

      $:匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 ' ' 或 ' '。要匹配 $ 字符本身,请使用 $

      ():标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 ( 和 )

      [ ] :内容表示可选字符集

      .表示除 之外的任意字符(很重要)

     5.正则表达式示例

      手机号:^1[34578]\d{9}$

      13287612828

      用户名(字母开头,数字字母组成至少6位):^[a-zA-Z]{1}[0-9A-Za-z]{5,}$

      邮箱:^[0-9A-Za-z]+([-_.]\w+)*@[0-9A-Za-z]+([-.]\w+)*[a-z]{2,5}$

      邮箱的常见表达:

        1).前缀纯数字:15287@qq.com

        2).前缀纯字母:zyt@163.com,zk8888@foxmail.com

        3).前缀数字+字母:wangwei789@qq.com

        4).前缀带点:zyt.blue@jb51.net

        5).前缀带_或-:zyt_blue@jb51.net,web-blue@jb51.net

      在此不多列举

      身份证号:^\d{18}$|\d{17}(\d|X)$

      URL^((ht|f)tps?)://\w+(.\w+)*([\w-.@?^=%&:/~+#]*[\w-.@?^=%&:/~+#])?$

      URL常见表达:http://yun.china-jado.com,http://127.0.0.1:8080/pipeline/login.do等

     6.划重点啦

      以上本人都亲自验证过(Java环境),值得注意的是w表示的不仅仅是字母和数字,还有_,这个我看很多笔者都没有涉及;另外很重要的是“.”的含义,不仅仅表示点,还有其他除 之外的任意字符,下一篇来写正则表达式的校验。

  • 相关阅读:
    精讲响应式WebClient第6篇-请求失败自动重试机制,强烈建议你看一看
    dubbo实战之三:使用Zookeeper注册中心
    dubbo实战之二:与SpringBoot集成
    dubbo实战之一:准备和初体验
    树莓派4B安装官方Ubuntu20 Server版(64位)
    JUnit5学习之八:综合进阶(终篇)
    纯函数
    函数式编程基本概念
    vscod使用指南
    实际使用Elasticdump工具对Elasticsearch集群进行数据备份和数据还原
  • 原文地址:https://www.cnblogs.com/zhangyating/p/7651687.html
Copyright © 2011-2022 走看看