1. 程式人生 > >正則捕獲的細節及replace分析

正則捕獲的細節及replace分析

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

  前者代表任意一個字元,

  後者代表這個字串中得有一個點

  2.?的使用

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

  代表1個或0個這個字元的出現;  列如: /\d?/

  如果量詞+後面帶?  取消正則的貪婪性  在捕獲的階段

  3.捕獲:

  1.普通捕獲  正則的方法exec()  字串的方法match()

    普通捕獲有懶惰性:

    給正則新增一個修飾符g,可以解決;

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

  2.分組捕獲:還是正則的方法exec() 字串的方法match()

    只不過正則結構發生了變化加()     (分兩種捕獲,全域性和非全域性)

  非全域性  var reg=/(a)(b)/  exec()和match()在非全域性下分組捕獲相同的,分組捕獲在捕獲的過程中,即捕獲大正則的內容,也捕獲分組中的內容,並返回

  全域性   var reg=/(a)(b)/g  exec()和match()在全域性下的分組捕獲是不一樣的,exec()不變,但是match()只捕獲