JS正則(3)總結
1.正則:檢索字串的一條規則
2.正則就是由元字元和修飾符構成的
3.寫在//裡面的都叫元字元,元字元分兩種 一種是有特殊意義的,一種沒有特殊意義,沒有特殊意義的就是字元本身
特殊意義的元字元:
(1)\ 轉義字元 轉譯後面緊跟的字元的意義 \d \.
(2). 代表除了\n以外的任何單個字元
(3)d,D,w,W, s S ,B,b
(4)^以什麼開頭
(5)$以什麼結束 \$就是$本身;
(6)|代表或的意思;
帶有量詞意思的元字元:
(1)?代表0到一個;
(2)*代表0到多個;
(3)+代表1到多個;
(4){}系列
[]系列的元字元:
(1)[xyz]代表x或y或z中的任意一個;
(2)[0-9]代表0-9之間的任意一個;
(3)[a-z]代表小寫a到小寫z;
(4)[A-Z]代表大寫A到大寫Z;
(5)[A-z]代表大寫A到小寫z;
()分組系列
4.正則的細節:
(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週歲的正則
案例2:寫一個正常的數字的正則
+12 -12 23 23.256 6 0.36