正则表达式学习

2018-11-29  本文已影响0人  SuYongZhi

正则表达式:也叫规则表达式,按照一定的规则组成的一个表达式,作用主要是匹配字符串。

     正则表达式的组成:是由元字符或者限定字符组成的一个式子
     
      元字符:
     
     . 表示得的是:除了\n以外的任意的一个字符  "fsdfg520"
     
      [] 表示的是:范围.[0-9]  表示的是0到9之间的任意的一个数字,"4567" [0-9]
      [1-7] 表示的是1到7之间的任意的数字
     
      [a-z] 表示的是:所有的小写字母的任意的一个
      [A-Z] 表示的是:所有大写字母的任意的一个
      [a-zA-Z] 表示的是:所有字母的任意的一个
      [0-9a-zA-Z] 表示的是:所有的数字或者字母中的一个
      [] 另一个含义:把正则表达式中元字符的意义干掉 [.] 就是一个.
     
      限定符
     
      | 表示的是:或者 [0-9]|[a-z] 表示的是要么是数字,要么是小写的字母
     
      () 表示的是:分组,提升优先级 [0-9]([a-z])|[A-Z]
      ([0-9])([1-5])([a-z]) 三组,从最左边开始计算
     
     * 表示的是:前面的表达式出现了0次到多次
      [a-z][0-9]* 表示的是: 小写字母的任意的一个,后面要么是没有数字,要么是多个数字
      "asdfa2343241" [a-z][0-9]*
     
      + 表示的是:前面的表达式出现了1次到多次
      [a-z][9]+ 小写字母一个后面最少一个9,或者多个9
      "fsdf9asf"
     
      ? 表示的是:前面的表达式出现0次到1次,最少0次,最多1次,另一个含义:阻止贪婪模式
      [4][a-z]? "1234dsf"
     
      限定符:限定前面的表达式出现的次数
      {} 更加的明确前面的表达式出现的次数
      {0,} 表示的前面的表达式出现了0次到多次,和*一样的
      {1,} 表示的前面的表达式出现了1次到多次,和+一样的
      {0,1} 表示的前面的表达式出现了0次到1次,和?一样的
     
      {5,10} 表示的是前面的表达式出现了5次到10次
      {4} 表示的是前面的表达式出现了4次
     
      ^ 表示的是以什么开始,或者是取非(取反)
      ^[0-9] 以数字开头
      ^[a-z] 以小写字母开头
      [^0-9] 取反,非数字
      [^a-z] 取反,非小写字母
      
      $ 表示的是以什么结束
      [0-9][a-z]$  必须以小写字母结束
     
     
      \d 数字中的任意一个
      \D 非数字中的一个
      
      \s 空白符的一个
      \S 非空白符
     
      \w 非特殊符号
      \W 特殊符号
     
      \b 单词的边界 
     
     
      写正则表达式,根据字符串来写正则表达式进行匹配
     
      身份证的正则表达式
      15位或者18位
      ([1-9][0-9]{14})|([1-9][0-9]{16}[0-9xX])
     
      练习:
      1.座机号码的正则表达式
      010-19876754
      0431-87123490
     
      [0-9]{3,4}[-][0-9]{8}
      \d{3,4}[-]\d{8}
     
      2.QQ号码正则表达式
      [1-9][0-9]{4,10}
      \d{5,11}
     
      3.手机号码的正则表达式
     
     
      邮箱的正则表达式,必须记住
      sd211_2.-fd@dssdfsd.com.cn
      [0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}
上一篇下一篇

猜你喜欢

热点阅读