javascript RegExp

RegExp 對象表示正則表達式,它是對字符串執行模式匹配的強大工具正則表達式

直接量語法數組

/pattern/attributes函數

建立RegExp對象的語法工具

new RegExp(pattern,attributes);code

參數對象

pattern是一個字符串,指定了正則表達式的模式或其餘正則表達式ip

attributes是一個可選的字符串,包含屬性"g","i","m",分別用於指定全局匹配,區分大小寫的匹配和多行匹配。ECMAScript標準化以前,不支持m屬性。若是pattern是正則表達式,而不是字符串,則必須省略參數。字符串

返回值it

一個新的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|bule|yellow)查找任何指定的選項

元字符

. 查找單個字符,除了換行和行結束符

\w 查找單詞字符

\W查找非單詞字符

\d 查找數字

\D查找非數字字符

\s查找空白字符串

\S查找非空白字符

\b匹配單詞邊界

\B匹配非單詞邊界

\0查找NUL字符

\n查找換行符

\f查找換頁符

\r查找製表符

\v查找垂直製表符

\xxx查找以八進制數xxx規定的字符

\xdd查找以十六進制數dd規定的字符

\uxxxx查找以十六進制數xxxx規定的Unicode字符

量詞

n+匹配任何包含至少一個n的字符串

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

n?匹配包含零個或一個n的字符串

n{X}匹配包含X個n的序列字符串

n{X,Y}匹配包含X至Y個n的序列字符串

n{X,}匹配包含至少X個n的序列字符串

n$匹配任何結尾爲n的字符串

^n匹配任何開頭爲n的字符串

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

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

RegExp對象屬性

global RegExp對象是夠具備標誌g

ignoreCase RegExp對象是否 具備標誌i

lastindex 一個整數,標識開始下一次匹配的字符位置

multiline RegExp對象是否具備標識m

source 正則表達式的源文本

 

RegExp對象方法

compile 編譯正則表達式

exec 檢索字符串中指定的值。返回找到的值,並肯定其位置

test 檢索字符串中指定的值,返回true或false

 

支持正則表達式的String對象的方法

search 檢索與正則表達式匹配的值

match 找到一個或多個正則表達式的匹配

replace 替換與正則表達式匹配的子串

split 把字符串分割爲字符串數組

相關文章
相關標籤/搜索