正則和字符串

1.var reg=/./   var reg=/\./正則表達式

前者表明任意一個字符然後者表明這個字符串中得有一個.數組

2.?的使用函數

若是單獨的一個字符後面帶? var reg=/\d?/ /n?/學習

表明一個或0個這個字符的出現prototype

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

 

3.捕獲字符串

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

普通捕獲有懶惰性,給正則添加一個修飾符g能夠解決,match是將全部捕獲的內容放在一個數組中並返回。Match就是對exec的一個簡單封裝。class

2.分組捕獲 捕獲的方法仍是exec 和matchtest

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

Var reg=/(a)(b)/

Exec()和match()在非全局下分組捕獲是相同的,在捕獲的過程當中即捕獲大正則裏的內容也捕獲分組中的內容並都返回。

 

Exec()和match()在全局下的分組捕獲是不同的,exec()不變。可是match()只捕獲大正則裏的內容

 

  1. 分組捕獲的優點
  2. 能夠提高優先級
  3. 能夠捕獲引用

\1表明分組1裏面的內容  \2表明分組2裏面的內容

前提是分組必須在引用以前,若是\2在分組的前面表明普通的表達式???

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

\1 和RegExp.$1 兩者都是分組引用

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

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

在分組的前面加上?:就ok了

?:和?=的區別

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

?=  a(?=s)

 

4.replace細說

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.正則

用來處理字符串的一個規則。除了處理字符串別的啥也幹不了

  1. 用來判斷一個字符串是否符合這個規則 test()  正則的匹配
  2. 正則還能夠把符合正則的內容捕獲到 exec()    正則的捕獲

如何建立正則  對象數據類型   建立方式 兩種

一個是字面量的方式 

Var reg=/\d/

一個是實例方式

Var reg=new RegExp(「string」)

Var obj={}  var obj=new Object()   沒有區別  可是正則的這兩種建立方式有點區別

如何學習正則

  1. 一是匹配 2是捕獲

Console.dir(RegExp.prototype)

 

 

Z

相關文章
相關標籤/搜索