JavaScript正則表達式RegExp對象

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}    //限定符
 
    四、^、$、\任何元字符    //位置和順序
 
    五、|    //"或"運算
相關文章
相關標籤/搜索