JS高級程序設計學習筆記之RegExp類型

  1. 建立正則表達式:
    1. 字面量形式定義正則表達式:

      Var expression = / pattern /flags ;pattern部分可使任意簡單或複雜的正則表達式。每一個正則表達式能夠帶有一個或多個標誌。 正則表達式

      標誌爲:①g,表示全局模式。②i,表示不區分大小寫。③m,表示多行模式 express

      正則表達式的元字符包括:( [ { \ ^ $ | ? * + . } ] )。注意:模式中使用的全部元字符必須通過轉義(使用 \ 符號)。 數組

    2. 使用RegExp構造函數:

      Var pattern = new RegExp("正則表達式","標誌符")。兩個參數都是字符串。有時要對字符進行雙重轉義,對全部的元字符都要雙重轉義。 函數

    3. ECMAScript3中,正則表達式字面量始終共享一個RegExp實例,而使用構造函數建立的每個新RegExp實例都是一個新實例。

      ECMAScript5中,規定使用正則表達式字面量必須像直接調用構造函數同樣,每次建立新的實例。IE9+,FF4+,Chrome都作出了修改。 spa

  2. RegExp實例屬性
    1. global:布爾值,表示是否設置了b標誌。
    2. ignoreCase:布爾值,表示是否設置了i標誌。
    3. lastIndex:整數,表示開始搜索下一個匹配項的字符位置,從0算起。
    4. multiline:布爾值,表示是否設置了m標誌。
    5. source:正則表達式的字符串表示,按照字面量形式而非傳入構造函數中的字符串模式返回。
  3. RegExp實例方法:
    1. Var matches = pattern.exec(text);

      exec(),接受一個參數,即要應用模式的字符串,而後返回一個包含第一個匹配項信息的數組;或者在沒有匹配項的狀況下返回null。 ip

      即便設置了全局標誌,每次仍只返回一個匹配項。①在不設置全局標誌的狀況下,在同一字符串上屢次調用exec()方法將始終返回第一個匹配項的信息。②在設置全局標誌的狀況下,每次調用exec()都會在字符串中繼續查找新的項。 字符串

      返回的數組是Array實例,但包含兩個額外屬性:index和input。 input

      Index表示匹配項在字符串中的位置。 io

      Input表示應用正則表達式的字符串。 ast

      在數組中,第一項是與整個模式匹配的字符串,其餘項是與模式中的捕獲組匹配的字符串(若是模式中沒有捕獲組,則該數組只包含一項)。

    2. test()方法,接受一個字符串參數,在模式與該參數匹配的狀況下返回true,不然返回false。
    3. toLocalString()與toString()返回正則表達式的字面量。
    4. valueOf()方法返回正則表達式自己。

4、RegExp構造函數屬性:P107

相關文章
相關標籤/搜索