正则2

正则:检索字符串的一条规则。

  正则就是由元字符和修饰符构成。

  写在//里面的都叫元字符,元字符分两种 一种是有特殊意义,一种没有特殊意义,没有特殊意义的就是字符本身。

特殊意思的元字符

  1. \ 转义字符  转译后面紧跟的字符的意义 \d  \.
  2. . 代表除了\n以外的任何单个字符
  3. d,D,w,W,s,S,b,B
  4. ^ 以什么开头 kangchuo
  5. $ 以什么结束   \$ 就是$本身
  6. |代表或的意思

带有量词意思的元字符

  1. ? 代表0到1个
  2. * 代表0到多个
  3. +代表1到多个

{}系列

  []系列元字符

  [xyz]代表x或y或z中的任意一个

   [0-9]代表0-9之间的任意一个

   [a-z]代表小写a到小写z

    [A-Z]代表大写A到大写Z  

  [A-z]代表大写A到小写z

()分组系列

  (x|y)

正则的细节

 正则定义的区别

    Var reg=/hello/g

    Var reg=new RegExp(“hello”,”g”)

  

 

    前者里面不能引用变量,后者可以。

reg=/^\d$/

   

  因为^和$符不占用位置,也就说明开头和结尾之间夹了一个数字,表达一个纯数字

/./和/\./的区别

   /./代表任意字符

  /\./在字符串中必须得有一个.

[.],[+]的意思

  .和+在正则里是特殊的元字符,.是任意字符+是量词代表多个。

在[]里面的.和+就是这个字符本身,没有意义。

|代表或

  [2|3] 代表2或3

  [12|34] 代表1或2|3或4,或者12,34 往往这种情况需要分组()

  [(12|34)]

  [xyz]

-的问题

  /-/ 就是-本身。没有意义,如果写在[0-9]代表0到9之间的任意一个数字。

  [12-65]代表18到65之间的数字???

  表达的是1或者2-6的数字或者5

posted @ 2018-12-20 19:40  qianduan学习者  阅读(128)  评论(0编辑  收藏  举报