1、建立RegExp對象
一、var re=/.../[falgs];
二、var re=new RegExp("...",["flags"]);
三、var re=new RegExp(new RegExp("..."));
四、var re=new RegExp(/.../);
五、falgs參數的可選值
(0)、標誌 對應屬性 功能說明
(1)、g global 全局標誌,表示找出全部的pattern
(2)、i ignoreCase 表示匹配時不區分大小寫
(3)m multiline 更改^和$的含義,使他們分別在任意一行的行首和行尾匹配,而不單單在整個字符串的 開頭和結尾匹配
2、簡單語法
0、模式 // 描述
一、c //c表示一個或多個普通字符,匹配字符串c
二、{n,} //n是一個非負整數,表示至少匹配n次
三、{n,m} //m和n都是非負整數(n<=m),表示至少匹配n次且最多匹配m次
四、\ //轉義字符
五、^ //匹配字符串的開始位置
六、$ //匹配輸入字符串的結束位置
七、* //匹配前面的字符或子表達式零次或屢次【包括該字符串自己】==》{0,}
八、+ //匹配前面的字符或子表達式一次或屢次==》{1,}
九、? //匹配前面的字符或子表達式零次或一次==》{0,1} 當該字符緊跟在任何一個其餘限制符後面時,非 貪心模式(匹配搜素到的、儘量短的字符串)
十、. //匹配除"\n"以外的任何單個字符
十一、x|y //匹配x或y
十二、[xyz] //字符集合匹配包含的任意一個字符(只匹配其中一個)
1三、[^xyz] //反向字符集合,匹配未包含的任意符.
1四、[a-z] //字符範圍,匹配指定範圍內的任意字符 ^[A-Za-z0-9]+$表示由數字和26個英文字母組成的 字符串
1五、[^a-z] //反向字符範圍,匹配任何不在指定範圍內的任意字符
2、'非貪心'模式
0、模式 //描述(儘量少重複)
一、*? //重複任意次
二、+? //重複1次 或更屢次
三、?? //重複0次或1次
四、{n,m}? //重複n~m次
五、{n,}? //重複n次以上
六、{n}? //重複僅n次
3、正則表達式轉義語法
0、模式 //描述
一、\b //匹配單詞邊界
二、\B //匹配非單詞邊界
三、\cx //匹配由x指定的ASCII控制字符
四、\d //匹配一個數字字符
五、\D //匹配一個非數字字符
六、\f //匹配一個換頁符==》\x0c \cL
七、\n //匹配一個換行符==》\x0a \cJ
八、\r //匹配一個回車符,==》\x0d \cM
九、\s //匹配任何單個字符,包括空格、製表符、換頁符等==》[\f\n\r\t\v]
十、\S //匹配任何單個字符,但不包括空白
十一、\t //匹配一個製表符==》\x09 \cI
十二、\v //匹配一個垂直製表符==》\x0b \cK
1三、\w //匹配包括下劃線的任何單詞字符
1四、\W //匹配任何非單詞字符
1五、\xnn //匹配nn,此處的nn是一個16進制轉義碼
1六、\num //匹配num,此處的num是一個正整數
1七、\n //標識一個8進制轉義值或一個反向引用
1八、\nm //標識一個8進制轉義碼或反向引用
1九、\nml //當n是8進制數(0~3),m和1是8進制數(0~7)時,匹配8進制轉義碼nml
20、\unnnn //匹配nnnn,其中nnnn是以4位16進制數表示的Unicode字符
2一、\0 //匹配NUL,即4位16進制數\u0000或者兩位16進制數\x00
4、捕獲語法
0、模式 //描述
一、(pattern) //匹配pattern並捕獲該匹配的子表達式
二、(?:pattern) //匹配pattern但不捕獲匹配結果,不存儲供之後使用的匹配
三、(?=pattern) //正向預查,在任何匹配pattern的字符串開始處匹配查找字符串
四、(?!pattern) //執行反向預測先行搜素的子表達式,該表達式匹配不處於匹配pattern的字符串的起點的搜 素字符串
5、優先權順序 //高------>>>底
0、操做符 //描述
一、\ //轉義符
二、()、(?:)、(?=)、(?!)、[] //圓括號和方括號
三、*、+、?、{、n}、{n,}、{n,m} //限定符
四、^、$、\任何元字符 //位置和順序
五、| //"或"運算