RegExp正则3

时间:2024-01-06 08:19:38

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

2.正则就是由元字符和修饰符构成的

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

特殊意思的元字符

  1.  \转义字符       转译后面紧跟的字符的意义    \d      \.

  2.    .代表除了\n以外的任何单个字符

  3.  d,D,  w,W, s, S,  b,B

  4.  ^ 以什么开头       kangchuo

  5.  $以什么结束  \$就是$本身

  6.  |代表或的意思

带有两次意思的元字符

  1.   ?代表0到1个

  2. *代表0到多个

  3. +代表1到多个

  4.{}系列

[]系列元字符

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

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

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

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

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

()分组系列

  (x|y)

正则的细节

  1.正则定义的区别

  var reg=/hello/g

  var reg=new RegExp("hello","g")

  RegExp正则3前者里面不能引用变量,    后者可以。

  2.reg=/^\d$/

  RegExp正则3

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

  3././和/\./的区别

    前者代表任意一个字符,后者代表字符串中得有一个.

  4.[.],[+]的意思

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

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

  5.|代表或

  [2|3]代表2或3

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

  [(12|34)]

  [xyz]

  6.-的问题

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

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

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

  案例      1写一个12到65周岁的正则

  var reg=/^(1[2-9])|([2-5][0-9])|(6[0-5])$/

  var st="66"

  console.log(reg.test(st))

  案例2写一个正常的数字的正则

  +12       -12     23      23.256    6   0.36

  var reg=/^[+-]?([0-9]|[1-9]\d+)(\.\d+)?$/

  var st="60"

  console.log(reg.test(st))