1. 程式人生 > >12.19筆記 正則

12.19筆記 正則

var reg=/./···var reg=\/./

前者代表任意一個字元而後者代表這個字串中得有一個

  1. ?的使用

如果單獨的一個字元後面帶? var reg=/\d?/ /n?/

代表一個或0個這個字元的出現

如果是量詞+*{2,}後面帶? 取消正則的貪婪性   在捕獲階段

  1. 捕獲
    1. 普通捕獲 exec() match()

普通捕獲有懶惰性,給正則新增一個修飾符g可以解決,match是將所有捕獲的內容放在一個數組中並返回,match就是對exec 的一個簡單封裝

  1. 分組捕獲 捕獲的方法還是execmatch

正則在結構上發生了變化,加

()

Var reg=/(a)(b)/

Exec()match()在非全域性下分組捕獲是相同的,分組捕獲,在捕獲的過程中即捕獲大正則裡的內容也捕獲分組中的內容並都返回

Exec()match()在全域性下的分組捕獲是不一樣的,exec()不變,但是match()只捕獲大正則裡的內容

  1. 分組捕獲的優勢
  2. 可以提升優先順序
  3. 可以捕獲引用

\1代表分組1裡面的內容,  \2代表分組2裡面的內容

前提是分組必須在引用之前,如果\2在分組的前面代表普通的表示式???

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

\1RegExp.$1 二組都是分組引用

\1只能使用在正則表示式裡面,RegExp.$1可以外面使用。都是在捕獲完成的條件下。

4.在捕獲過程中怎樣取消捕獲分組中的內

在分組的前面加上?:ok

?:?=的區別

?:取消捕獲分組中的內容的

?=  

4.replace細說

  Replace是字串的一個方法,他有兩個引數,用後者將前者替換掉,並返回一個新的字串 ,但是沒有改變原來的字串

  1. 如果第一個引數是字串,只改變一次
  2. 如果第一個引數是正則,捕獲一次改變一次
  3. 如果第一個引數是匿名函式,每捕獲一次這個匿名函式會執行一次,return的是什麼,那就替換成什麼。這個匿名函式的
    arguments有三個元素