1. 程式人生 > >正則的使用及replace細講

正則的使用及replace細講

一個數 所有 多次 存在 字符 number 不變 就是 match

  1.var reg=/./ 與 var reg=/\./的區別?

    .代表任意一個字符

    \.而後者代表這個字符串中得有一個.

  2.?的使用

    如果單獨的一個字符後面帶?

    /\d?/  代表1個或0個這個字符的出現    (在捕獲的階段)

    如果是量詞+後面帶? 代表取消貪婪性  (在捕獲的階段)

  3.捕獲 (在全局捕獲中,exec()多次輸出後,他的起始位置不斷地向後匹配,如果匹配不到就是null)

    1.普通捕獲  exec()    match()(對exec()的包裝)

      普通捕獲有懶惰性,給正則添加一個修飾符g可以解決;

    match()是將所有捕獲的內容放在一個數組中並返回,match()就是對exec()對函數的簡單封裝

    2.分組捕獲:

      分組捕獲;還是用到了exec()和match()的方法,只不過正則的結構發生了變化,加()

      分兩種情況:(全局,非全局)

      非全局:exec()和match()在非全局下分組捕獲相同,分組捕獲在捕獲的過程中,既捕獲大正則的內容,也捕獲分組中的內容,並返回;

      全局:exec()和match()在非全局下分組捕獲不同,exec()不變,但是match只捕獲到大正則裏面的內容;

    3.分組捕獲的優勢:

      1.可以提升優先級;

      2.可以捕獲引用;

    捕獲引用: \1 \2轉義字符;

       \1代表分組1裏面一模一樣的內容;

       \2代表分組2裏面一模一樣的內容;

    分組的結果存在正則RegExp的$number屬性下,

    

正則的使用及replace細講