JavaScript之match 方法講解

2021-09-08 17:09:31 字數 1351 閱讀 3372

match() 方法可在字串內檢索指定的值,或找到乙個或多個正規表示式的匹配。

該方法類似 indexof() 和 lastindexof(),但是它返回指定的值,而不是字串的位置。

stringobject.match(searchvalue)

stringobject.match(regexp)

引數

描述searchvalue

必需。規定要檢索的字串值。

regexp

必需。規定要匹配的模式的 regexp 物件。如果該引數不是 regexp 物件,則需要首先把它傳遞給 regexp 建構函式,將其轉換為 regexp 物件。

存放匹配結果的陣列。該陣列的內容依賴於 regexp 是否具有全域性標誌 g。

match() 方法將檢索字串 stringobject,以找到乙個或多個與 regexp 匹配的文字。這個方法的行為在很大程度上有賴於 regexp 是否具有標誌 g。

如果 regexp 沒有標誌 g,那麼 match() 方法就只能在 stringobject 中執行一次匹配。如果沒有找到任何匹配的文字, match() 將返回 null。否則,它將返回乙個陣列,其中存放了與它找到的匹配文字有關的資訊。該陣列的第 0 個元素存放的是匹配文字,而其餘的元素存放的是與正規表示式的子表示式匹配的文字。除了這些常規的陣列元素之外,返回的陣列還含有兩個物件屬性。 index 屬性宣告的是匹配文字的起始字元在 stringobject 中的位置,input 屬性宣告的是對 stringobject 的引用。

如果 regexp 具有標誌 g,則 match() 方法將執行全域性檢索,找到 stringobject 中的所有匹配子字串。若沒有找到任何匹配的子串,則返回 null。如果找到了乙個或多個匹配子串,則返回乙個陣列。不過全域性匹配返回的陣列的內容與前者大不相同,它的陣列元素中存放的是 stringobject 中所有的匹配子串,而且也沒有 index 屬性或 input 屬性。

注意:在全域性檢索模式下,match() 即不提供與子表示式匹配的文字的資訊,也不宣告每個匹配子串的位置。如果您需要這些全域性檢索的資訊,可以使用 regexp.exec()。

在本例中,我們將在 "hello world!" 中進行不同的檢索:

輸出:

world

null

null

world!

在本例中,我們將使用全域性匹配的正規表示式來檢索字串中的所有數字:

輸出:

1,2,3

match() 1

如何使用 match() 來檢索乙個字串。

match() 2

如何使用 match() 來檢索乙個正規表示式的匹配。

Javascript正規表示式的match方法

match 方法 使用正規表示式模式對字串執行查詢,並將包含查詢的結果作為陣列返回。stringobj.match rgexp 引數 stringobj 必選項。對其進行查詢的 string 物件或字串文字。rgexp 必選項。為包含正規表示式模式和可用標誌的正規表示式物件。也可以是包含正規表示式模...

JavaScript之prototype斷鏈理解

最近在論壇看到一篇帖子關於prototype斷鏈的,原文如下 var sound function person person.prototype sound 早點綁上去 var fo1o new person var person.prototype 遲了綁上去 yyyy yyyy alert f...

Excel中如何活用INDEX和MATCH函式

在excel中match函式可以返回指定內容所在的位置,而index又可以根據指定位置查詢到位置所對應的資料,各取其優點,我們可以返回指定位置相關聯的資料。1.match函式 返回指定內容所在的位置 match lookup value,lookup array,match type lookup ...