有關正規表示式的知識

2022-06-28 16:48:14 字數 1411 閱讀 5620

let name=pagename

例子: var reg = new regexp("(^|&)" + "(" + name + ")" + "=([^&]*)(&|$)")

match:

說明:

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()

理解:

(^|&):小括號代表,表示式的子表示式

意思:開頭:以後面pagename的字串開頭(這裡的name是乙個變數,不是字串)或者以&pagename開頭,這是開頭說完了

結尾:以=除去&的任意字元任意數量並且以&分割,或者以=除去&的任意字元任意數量並且以([^&]*)子表示式結尾。

結果:

注意:^和$

^: 1,如果^後面沒有內容表示必須以字元開頭。2,如果^後面有內容或則子表示式,那麼就得以子表示式開頭。

例如:^(songz),必須以songz開頭,songx就不能匹配

例如:^s,必須以s開頭,

$:1,如果$前面沒有內容表示以字元結尾,2,如果$前面有內容或則子表示式,那麼就得以子表示結尾

例如:(songz)$表示必須以songz結尾

例如:s$表示必須以s結尾

正規表示式知識

字元描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了regexp物件的multiline屬性,也匹配 n 或 r 之後的位置。匹配輸入字串的結束位置。如...

正規表示式有關的函式

函式查詢 實力應用 量詞語法描述 匹配任何至少包含乙個前導字串 匹配任何包含零個或多個前導字串 匹配任何包含零個或乙個前導字串 匹配任意字串 匹配任何包含x 個前導字串 匹配任何包含x 到y 個前導字串 匹配任何包含至少x 個前導字串 匹配字串的行尾 匹配字串的行首 匹配字串的左邊或者右邊 包圍乙個...

Python中有關正規表示式

今天學習了python中有關正規表示式的知識。關於正規表示式的語法,不作過多解釋,網上有許多學習的資料。這裡主要介紹python中常用的正規表示式處理函式。re.match 嘗試從字串的開始匹配乙個模式,如 下面的例子匹配第乙個單詞。import re text jgood is a handsom...