1. 程式人生 > >RegExp正則3

RegExp正則3

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")

  前者裡面不能引用變數,    後者可以。

  2.reg=/^\d$/

  

  因為^和$符不佔用位置,也就說明開頭和結尾之間夾了一個數字,表達一個純數字

  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))