JavaScript---正則表達式

在JavaScript中,RegExp對象表示正則表達式,用來對字符串進行匹配。正則表達式

1、兩種定義方法:數組

一、直接量法:spa

/pattern/attributecode

二、對象法:regexp

new RegExp(pattern,attribute);對象

參數說明:blog

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

attribute是一個可選的字符串,用來模式匹配的範圍,包括i,g,m三個字符,分別表明區分大小寫匹配、全局匹配和多行匹配。(若是pattern是正則表達式而不是字符串,怎必須刪除該參數)ci

 i-->ignoreCase;unicode

g-->gloable;

m-->multiLine;

2、正則表達式語法說明:

正則表達式的語法從修飾符、方括號、元字符、量詞、RegExp對象屬性、RegExp對象方法和支持正則表達式的String對象的方法等七個方面進行描述:

一、修飾符:

 
修飾符 描述
i 執行對大小寫不敏感的匹配
g 執行所有匹配(查找全部的匹配項,而非在找到第一個匹配項後結束)
m

執行多行匹配                                                                            

 

 

 

                                                                                                                                                                                                                    

二、方括號:

表達式 描述
[abcd] 查找給定集合內的任意字符
[^abcd] 查找不在給定集合內的任意字符
[0-9] 查找任何從0到9的數字
[a-z] 查找任何從a到z的小寫字母
[A-Z] 查找任何從A到Z的大寫字母
[A-z] 查找任何從大寫A到小寫z的字母
[red|blue|green] 查找任何指定的選項                                                    

 

 

 

 

 

                                                                                                                                                                                                                   

三、元字符

元字符 描述
.              查找任意一個字符,不包括換行符和行結束符
\w 查找單詞字符,單詞字符包括a-z、A-Z、0-9和下劃線
\W 查找非單詞字符
\d 查找數字
\D 查找非數字字符
\s

查找空白字符,包括空格符、製表符、回車符、換行符、垂直換行符和換頁符

\S 查找非空白字符
\b 匹配單詞邊界
\B 匹配非單詞邊界
\0 查找null字符
\n 查找換行符,返回換行符被找到的位置,若是沒有就返回-1
\f 查找換頁符
\r 查找回車符
\t 查找製表符
\v 查找垂直製表符
\×××

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

\×dd 查找以十六進制dd規定的字符
\u×××× 查找以十六進制××××規定的unicode字符

 

 

 

 

 

 

 

 

 

 

 

                                                                                                                                                                                                                             

  

 

四、量詞

量詞 描述
n+ 匹配包含至少一個n的字符串        
n* 匹配包含0個或多個n的字符串
n? 匹配包含0個或1個n的字符串
n{X} 匹配包含x個n的序列的字符串
n{X,Y} 匹配包含X個或Y個n的序列的字符串
n{X,} 匹配至少包含X個n的序列的字符串
n$ 匹配任何以n結尾的字符串
^n 匹配任何以n開頭的字符串
?=n 匹配任何其後緊接指定字符串n的字符串
?!n 匹配任何其後不緊接指定字符串n的字符串                                       

 

 

 

 

 

 

                                                                                                                                                                                                                                      

五、RegExp對象屬性

屬性 描述
gloable

RegExp對象是否有g標示,RegExpObject.global,返回boolean類型                                                          

ignoreCase

RegExp對象是否有i標示,RegExpObject.global,返回boolean類型

multiline

RegExp對象是否有m標示,RegExpObject.global,返回boolean類型   

lastIndex 一個整數,表示下一次開始匹配的位置
source 正則表達式原文本   ,返回模式匹配所用的文本                          

 

 

 

 

 

                                                                                                                                                                                       

六、 RegExp對象方法

方法 描述
compile

編譯正則表達式。

用法:RegExpObject.compile(regexp,modifier) modifier規定匹配的類型-->i,m,g

exec 檢索字符串中指定的值,返回找到的值並肯定其位置,若是沒找到則返回null
test 檢索字符串中指定的值,返回boolean類型.用來判斷一個字符串是否匹配某個模式,RegExpObject.test(String)

 

 

 

                                                                                                                                                                                               

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

方法 描述
search 檢索與正則表達式相匹配的值或指定的子字符串。用法:stringObject.search(regexp)
match 匹配指定的值或與一個或多個正則表達式匹配的字符串。用法:stringObject.match(searchvalue);stringObject.match(regexp)
replace 用一些字符替換另外一些字符或替換與一個正則表達式匹配的子串。用法:stringObject.replace(regexp/substr,replacement),前者是子串或要替換的正則表達式,後者是替換文本
split 用於把一個字符串分割成字符串數組。用法:stringObject.split(separator,howmany)。前者必須,字符串或正則表達式,從該參數指定的地方開始分割。
相關文章
相關標籤/搜索