1. 程式人生 > >正則序RegExp

正則序RegExp

正則的理解

  1.正則的懶惰性

     每次在exec()中捕獲的時候,只捕獲第一次匹配的內容,而不往下不捕獲了。我們把這叫正則的懶惰性,每一次捕獲的開始位置都是從0開始

  解決正則的懶惰性

  修飾符g

  正則的例項物件reg上有一個lastIndex屬性     他是正則捕獲的起始位置

2.     正則的貪婪性

每一次匹配都是按照最長得出結果,我們把這種功能叫正則的貪婪性

如何解決正則的貪婪性

在元字元量詞後面加?

補充      迴圈語句       for       for------in-----         while      do-------while ------、

二     分組捕獲      正則帶()        在數分組的個數時從左往右

 var reg=/(a) (b)/

  就相當於大正則裡面帶了兩個小正則                                                        

  第一組是(a)     第二組是(b)

  分組捕獲的作用

  1.改變優先順序

  2.分組引用      \1, \2

  \2代表和第二個分組出現一模一樣的內容,\1代表和第二個分組出現一模一樣內容

  

  Reg中的規則是第一個是一個分組   且是一個單詞字元     第二個是個分組引用要求和第一組一模一樣,第三個是第二個分組且是一個單詞字元,第四個是一個分組引用,要求和第二組一模一樣。

  3.分組捕獲

  分組的捕獲前提是正則存在分組,不僅把大正則的內容捕獲到,把小正則的內容也捕獲到。

  

  怎樣解除分租中分組捕獲呢,如果你不想捕獲某一個分組中的內容,在這個分組的前面加上?:就可以了

  

1.分組捕獲

正則捕獲的時候不僅把大正則的內容捕獲到,還把小正則捕獲的內容捕獲到

第一個是把大正則捕獲的內容

第二,3個是第一個分組捕獲的內容和第二個分組捕獲的內容

在分組捕獲當中不想捕獲的分組前面加一個?:就行