正則的方法

2022-09-04 12:45:09 字數 3130 閱讀 1770

1.閉包:函式在呼叫的時候會形成乙個私有的作用域,對內部變數起到保護的作用,這就是閉包。

2.變數銷毀:

1.人為銷毀  var a=12; a=null

2.自然銷毀  函式呼叫完成之後 瀏覽器會自動銷毀函式內的變數

3閉包作用

保護變數

快取資料

4.閉包的種類

1.函式式

2.物件式

5.函式返回值的問題

每個函式都有乙個返回值,如果人為返回,return的什麼就是什麼,如果沒有就是undefined

6.閉包怎麼快取資料

7. 正則regexp

正則 就是一條規則,用於檢驗字串的格式,目標就是字串。

只要要是表單提交的資料都是字串。

8. 正則定義

var reg=new regexp();

var reg=/格式/;

9. 正則的方法

就兩大功能,乙個是匹配,匹配成功就是true,第二個是捕獲,如果有就拿出來。

test() 用於匹配

exec()用於捕獲

10. 正則修飾符  如何去匹配

區不區分大小寫  i  代表忽略大小寫

全域性     g代表全域性匹配

m代表多行匹配

怎麼使用

var reg=new regexp(「hello」,g)

var reg=/hello/gi

11.字串的方法 跟正則有關的

1.match()查詢乙個或多個與正則相匹配的 有就返回的是查詢的結果,沒有就是null

2.search() 匹配和正則相同的字元,有就返回索引,沒有就是-1

replace()匹配與正則相同的,並替換掉,返回的是替換後的字串

12,正則的方括號

[abc] 代表查詢方括號中的任何字元

[^abc]代表查詢任何乙個不在方括號之間的字元

[0-9]查詢0到9之間的數字

[a-z] 查詢任何小寫a到小寫z的字元

[a-z]查詢任何大寫a到大寫z的字元

[a-z]查詢大寫a到小寫z的字元

(red|blue|green)

13元字元

.代表單個字元

\w代表單詞字元  數字 字母 _

\w 代表非單詞字元

\d 代表數字

\d 代表非數字

\s 代表空白字元

\s 代表非空白字元

\b 代表單詞邊界

\b 代表非單詞邊界

14. 量詞

n+ 代表至少1個n的字元

n* 代表0個或多個n

n? 包含0個或1個n

n 包含x個n

n 包含至少x個n

n 包含大於等於x個小於等於y個n

n$  包含以n結尾的字串

^n包含以n開頭的字串

9,?=n 指定字串後面緊跟的n的字串

--正則regexp

概念:用來檢驗字串的規則。

如何使用

var reg=//  var reg=new regexp() 最後的本質都是乙個物件

方法test() 匹配的方法

exec()捕獲的方法

修飾符img方括號

元字元\d

量詞正則的理解

正則的懶惰性

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

解決正則的懶惰性呢

修飾符g

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

正則的貪婪性

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

如何解決正則的貪婪性

在元字元量詞後面加?

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

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

var reg=/(a)(b)/ 就相當於大正則裡面帶了兩個小正則

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

分組捕獲的作用

改變優先順序

分組引用  \1,\2

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

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

3.分組捕獲

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

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

1. 分組捕獲

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

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

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

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

exec和match的區別

在非全域性下捕獲的結果是一樣的

在全域性下 exec捕獲大正則也捕獲分組的 而match只捕獲大正則

replace細講

replace把原有的字元替換成新的字元

在不使用正則的情況下,沒執行一次只能替換乙個字元

replace是第乙個值是正則的實現原理

首先把與正則匹配的都捕獲到,然後從要替換的替換成我們新的內容

如果第二個引數是function

1.正則

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

用來判斷乙個字串是否符合這個規則 test()  正則的匹配

正則還可以把符合正則的內容捕獲到 exec()    正則的捕獲

如何建立正則  物件資料型別   建立方式 兩種

乙個是字面量的方式 

var reg=/\d/

乙個是例項方式

var reg=new regexp(「string」)

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

如何學習正則

一是匹配 2是捕獲

console.dir(regexp.prototype)

z

正則 正則方法 1103

元字元 0 9 a z 子表示式 0 9 乙個0 9的數值 a z 乙個a z的字元 乙個以上 模式修正符 gi g 全域性匹配 i 不區分大小寫var str 123abcdefgh4abcdefgh 匹配乙個數字 var patt 0 9 全域性匹配乙個數字 var patt 0 9 g匹配乙個...

正則的matche方法和search方法

1.matche方法match string pos endpos string 匹配使用的文字,pos 文字中正規表示式開始搜尋的索引。及開始搜尋 string 的下標 endpos 文字中正規表示式結束搜尋的索引。如果不指定pos,預設是從開頭開始匹配,如果匹配不到,直接返回 none impo...

正則捕獲方法

捕獲符合匹配條件的子串 假如匹配到,捕獲的結果是乙個陣列 第乙個陣列元素為捕獲的內容,即擷取的符合匹配條件的第乙個字串 第二個陣列元素為index,即匹配到的第乙個字串的的起始位置 第三個陣列元素為input,值為原始檢測的字串 假如匹配不到 結果就是null 正則捕獲懶惰性 概念 執行一次exec...