前序:正則用來(lái)匹配一個(gè)串中是否有某種子串碍讯、將用來(lái)在一個(gè)串替換子串或者取出子串。
正則表達(dá)式是由普通字符(例如字符 a 到 z)以及特殊字符(稱為"元字符")組成的文字模式
一酒贬、普通字符
1.?[...]??匹配指定字符 'g ' 代表全局??
例如??
var regs = /[a]/g;
var str? = "google is good search website";
str.match(regs);
輸出:?["a"]
2.[^...] 匹配字符串中除指定字符串以外的字符串。
例如:?
var regs = /[^a]/g;
var str? = "google is beast search website";
str.match(regs);
輸出:?["g", "o", "o", "g", "l", "e", " ", "i", "s", " ", "b", "e", "s", "t", " ", "s", "e", "r", "c", "h", " ", "w", "e", "b", "s", "i", "t", "e"]
3. [A-Z] 代表A到Z大寫字符串 [a-z] 代表a~z所有26個(gè)小寫字母
例如:?
var regs = /[A-Za-z]/g;
var str? = "GOOGLEisbeast1122";
str.match(regs);
輸出:["G", "O", "O", "G", "L", "E", "i", "s", "b", "e", "a", "s", "t"]
4. \w 代表大小寫26個(gè)字母0到9數(shù)字 等價(jià)于[A-Za-z0-9]
例如:?
var regs = /\w/g;
var str? = "GOOGLEisbeast1122";
str.match(regs);
輸出:["G", "O", "O", "G", "L", "E", "i", "s", "b", "e", "a", "s", "t", "1", "1", "2", "2"]
二、限定字符
1.+ 號(hào)代表前面的字符必須至少出現(xiàn)一次
2. * 號(hào)代表前面的字符可以是0 次 1次 或者無(wú)數(shù)次
3. ? 號(hào)代表前面的字符可以 0次 最多一次
4.?{n}?n 是一個(gè)非負(fù)整數(shù)搓侄。匹配確定的 n 次。例如话速,'o{2}' 不能匹配 "Bob" 中的 'o'讶踪,但是能匹配 "food" 中的兩個(gè) o。
5. {n,}?n 是一個(gè)非負(fù)整數(shù)泊交。至少匹配n 次乳讥。例如柱查,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o云石。'o{1,}' 等價(jià)于 'o+'唉工。'o{0,}' 則等價(jià)于 'o*'
6.{n,m} n m 均是非負(fù)整數(shù)。n <=m 至少匹配n次最多匹配m次?例如汹忠,"o{1,3}" 將匹配 "fooooood" 中的前三個(gè) o酵紫。'o{0,1}' 等價(jià)于 'o?'。請(qǐng)注意在逗號(hào)和兩個(gè)數(shù)之間不能有空格错维。
三奖地、特殊字符
1 $?匹配輸入字符串的結(jié)尾位置。要匹配 $ 字符本身赋焕,請(qǐng)使用 \$参歹。
2.() 標(biāo)記一個(gè)子表達(dá)式的開(kāi)始位置與結(jié)束位置。要匹配()字符本身隆判,請(qǐng)是用\( 和\)犬庇。
3. * 匹配前面表達(dá)式0次或者多次。要匹配字符本身侨嘀,請(qǐng)使用 \*臭挽。
4. + 匹配前面表達(dá)是至少一次或者多次。要匹配字符本身咬腕,請(qǐng)使用\+
5. ? 匹配前面表達(dá)式0次或者一次欢峰。要匹配字符本身,請(qǐng)使用\?
6. . 匹配任意字符除換行符以外涨共。要匹配字符本身纽帖,請(qǐng)使用 \.
7.? [ 表示表達(dá)式的開(kāi)始。 要匹配本身, 請(qǐng)使用 \ [
8? { 標(biāo)記限定符表達(dá)式的開(kāi)始举反。要匹配 {懊直,請(qǐng)使用 \{。
9. |?指明兩項(xiàng)之間的一個(gè)選擇火鼻。要匹配 |室囊,請(qǐng)使用 \|。