正则表达式

前言:行吧~三分钟热度的过了大半年。时间过得很快,毕业一年多,至今还未摸索出想干点啥。

   今天来记录下正则表达式的学习。对于正则这个东西吧,并不陌生,在校验字符串的时候常常会使用到它。但是本人也总是能不用就尽量不用吧,毕竟相对头可疼。但是又有时候较真点,觉得不写点正则的话显得代码很low。赶鸭子上架,学点、记点。

引用:《正则表达式30分钟入门教程》(这标题简洁明了似营销广告) 

   网址:http://deerchao.net/tutorials/regex/regex.htm

  • 需求:密码必须包涵数字、小写字母、大写字母、特殊字符6~15位。
  • 运用到的正则:/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[~`!@#%^&*()-_+={}:;<>,.?[\]\/\|\'\"\\\])[0-9a-zA-Z~`!@#%^&*()-_+={}:;<>,.?[\]\/\|\'\"\\\]{6,15}$/.
  • 知识点汇总:
    1. 特殊代码
      • ^:匹配字符串的开始
      • $:匹配字符串的结束
      • .:匹配除换行符以外的任意字符
      • \w :匹配字母数字(等同于[0-9A-Za-z])
      • \s:匹配任意空白符
      • \d:匹配数字
      • \b:匹配单词的开始或结束(这个今天才得知,记下记下)
    2. 重复
      • *:重复零次或更多次
      • +:重复一次或更多次
      • ?:重复零次或一次
      • {n}:重复n次
      • {n,}:重复n次或更多次
      • {n,m}:重复n到m次
    3. 反义
      • \W: 匹配任意不是字母和数字的字符
      • \S:匹配任意不是空白符的字符
      • \D:匹配任意非数字的字符
      • \B:匹配不是单词开头或结尾的位置
      • [^x]:匹配除了x以外的任意字符
      • [^asdfg]:匹配除了asdfg这几个字母以外的任意字符  
    4.  贪婪&懒惰(默认匹配是贪婪的)
      • *?:重复零次或更多次(但尽可能少重复)
      • +?:重复一次或更多次(但尽可能少重复)
      • ??:重复零次或一次(但尽可能少重复)
      • {n,}?:重复n次或更多次(但尽可能少重复)
      • {n,m}?:重复n到m次(但尽可能少重复)
              
  • 例子
  1. 匹配IP :((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

    | :相当于或 ,注意其顺序

    \:反斜杠,转义符。如匹配特殊字符:*$等的时候就要使用转义符,转义后如下:”\*\$;转义符自身转义为:\\,在实践中字符串会先进行一次转义,所以需要加一次转义为:\\\

      []:匹配区间,[0-4]:0到4之间的数字,[01]表示匹配01,[0|1]表示匹配0或1。在中括号中无需转义特殊字符。(但是要注意右括号]、单引号'、双引号")

 

 

懵懵的知识点:后向引用、位置指定、负向位置指定(后续理解了再来补充)

 

结语:这半年除了工作都干了些啥、一步一步、不愿输就不要输。

 



posted @ 2019-08-26 16:50  肖习  阅读(170)  评论(0编辑  收藏  举报