JavaScript RegExp 物件用法與參考

2021-08-07 18:26:59 字數 2836 閱讀 4104

regexp 物件表示正規表示式,它是對字串執行模式匹配的強大工具。

直接量語法

/pattern/attributes
建立 regexp 物件的語法:

new

regexp(pattern, attributes);

引數

引數 pattern 是乙個字串,指定了正規表示式的模式或其他正規表示式。

引數 attributes 是乙個可選的字串,包含屬性 「g」、」i」 和 「m」,分別用於指定全域性匹配、區分大小寫的匹配和多行匹配。ecmascript 標準化之前,不支援 m 屬性。如果 pattern 是正規表示式,而不是字串,則必須省略該引數。

返回值

乙個新的 regexp 物件,具有指定的模式和標誌。如果引數 pattern 是正規表示式而不是字串,那麼 regexp() 建構函式將用與指定的 regexp 相同的模式和標誌建立乙個新的 regexp 物件。

如果不用 new 運算子,而將 regexp() 作為函式呼叫,那麼它的行為與用 new 運算子呼叫時一樣,只是當 pattern 是正規表示式時,它只返回 pattern,而不再建立乙個新的 regexp 物件。

丟擲

syntaxerror - 如果 pattern 不是合法的正規表示式,或 attributes 含有 "g"、"i" 和 "m" 之外的字元,丟擲該異常。

typeerror - 如果 pattern 是 regexp 物件,但沒有省略 attributes 引數,丟擲該異常。

修飾符

修飾符描述

i執行對大小寫不敏感的匹配。

g執行全域性匹配(查詢所有匹配而非在找到第乙個匹配後停止)。

m執行多行匹配。

方括號

方括號用於查詢某個範圍內的字元:

表示式描述

[abc]

查詢方括號之間的任何字元。

[^abc]

查詢任何不在方括號之間的字元。

[0-9]

查詢任何從 0 至 9 的數字。

[a-z]

查詢任何從小寫 a 到小寫 z 的字元。

[a-z]

查詢任何從大寫 a 到大寫 z 的字元。

[a-z]

查詢任何從大寫 a 到小寫 z 的字元。

[adgk]

查詢給定集合內的任何字元。

[^adgk]

查詢給定集合外的任何字元。

(red

blue

元字元

元字元(metacharacter)是擁有特殊含義的字元:

元字元描述

.查詢單個字元,除了換行和行結束符。

\w查詢單詞字元。

\w查詢非單詞字元。

\d查詢數字。

\d查詢非數字字元。

\s查詢空白字元。

\s查詢非空白字元。

\b匹配單詞邊界。

\b匹配非單詞邊界。

\0查詢 nul 字元。

\n查詢換行符。

\f查詢換頁符。

\r查詢回車符。

\t查詢製表符。

\v查詢垂直製表符。

\***

查詢以八進位制數 *** 規定的字元。

\xdd

查詢以十六進製制數 dd 規定的字元。

\u***x

查詢以十六進製制數 ***x 規定的 unicode 字元。

量詞

量詞描述

n+匹配任何包含至少乙個 n 的字串。

n*匹配任何包含零個或多個 n 的字串。

n?匹配任何包含零個或乙個 n 的字串。

n匹配包含 x 個 n 的序列的字串。

n匹配包含 x 至 y 個 n 的序列的字串。

n匹配包含至少 x 個 n 的序列的字串。

n$匹配任何結尾為 n 的字串。

^n匹配任何開頭為 n 的字串。

?=n匹配任何其後緊接指定字串 n 的字串。

?!n匹配任何其後沒有緊接指定字串 n 的字串。

regexp 物件屬性

屬性描述 ff

ieglobal

regexp 物件是否具有標誌 g。

1ignorecase

regexp 物件是否具有標誌 i。

1lastindex

乙個整數,標示開始下一次匹配的字元位置。

1multiline

regexp 物件是否具有標誌 m。

1source

正規表示式的源文字。1

regexp 物件方法

方法描述

ffie

compile

編譯正規表示式。14

exec

檢索字串中指定的值。返回找到的值,並確定其位置。14

test

檢索字串中指定的值。返回 true 或 false。14

支援正規表示式的 string 物件的方法

方法描述

ffie

search

檢索與正規表示式相匹配的值。14

match

找到乙個或多個正規表示式的匹配。14

replace

替換與正規表示式匹配的子串。14

split

把字串分割為字串陣列。14

vue物件傳參(物件)

將要跳轉的頁面 傳遞引數 用json.stringify 轉換完畢後,再用encodeuricomponent 將引數轉換一下,就可以傳參了 let obj var arr json.stringify this.obj this.router.push shop endcodeuricompone...

物件導向 空參有參構造

物件導向 物件導向的三大特點 封裝 繼承 多型 封裝 將物件的屬性和實現細節隱藏,對外只提供公共的訪問方式。優點 防止資料的篡改,提高安全性,隱藏細節。由private 封裝 對外提供get set 方法獲取 private許可權修飾符 修飾成員變數和成員方法,被私有的成員只能在本類中訪問 this...

springMvc 入參物件

1.修改或者新增物件 2.多添件查詢時候也會遇到 springmvc能夠根據屬性自動的封裝pojo的物件並且支援關聯的物件 大致的原理是在傳入後台的時候把前台的屬性和物件封裝成json的形式傳入後台,後台根據傳入的物件,把json的形式轉換為物件進行處理 具體使用 package com.atgui...