JSRegex(轉載)

來源:互聯網
上載者:User

標籤:highlight   檢索   class   cas   其他   search   方法   order   ace   

在JavaScript中,RegExp對象表示Regex,用來對字串進行匹配。

一、兩種定義方法:

1、直接量法:

/pattern/attribute

2、對象法:

new RegExp(pattern,attribute);

參數說明:

pattern是一個字串,指定了Regex的模式或其他的Regex;

attribute是一個可選的字串,用來模式比對的範圍,包括i,g,m三個字元,分別代表區分大小寫匹配、全域匹配和多行匹配。(如果pattern是Regex而不是字串,怎必須刪除該參數)

 i-->ignoreCase;

g-->gloable;

m-->multiLine;

二、Regex文法說明:

Regex的文法從修飾符、方括弧、元字元、量詞、RegExp對象屬性、RegExp對象方法和支援Regex的String對象的方法等七個方面進行描述:

1、修飾符:

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

 

 

 

 

2、方括弧:

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

 

 

 

 

 

 

3、元字元

元字元 描述
. 尋找任意一個字元,不包括分行符號和行結束符
\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字元

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4、量詞

量詞 描述
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的字串                                              

 

 

 

 

 

 

 

 

5、RegExp對象屬性

 

屬性 描述
gloable RegExp對象是否有g標示,RegExpObject.global,返回boolean類型
ignoreCase RegExp對象是否有i標示,RegExpObject.global,返回boolean類型
multiline RegExp對象是否有m標示,RegExpObject.global,返回boolean類型
lastIndex 一個整數,表示下一次開始匹配的位置
source Regex原文本   ,返回模式比對所用的文本                                                                   

 

 

 

 

 

6、 RegExp對象方法

 

方法 描述
compile 編譯Regex。用法:RegExpObject.compile(regexp,modifier) modifier規定匹配的類型-->i,m,g
exec 檢索字串中指定的值,返回找到的值並確定其位置,如果沒找到則返回null
test 檢索字串中指定的值,返回boolean類型.用來判斷一個字串是否匹配某個模式,RegExpObject.test(String)

 

 

 

 

7、支援Regex的 String 對象的方法

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

JSRegex(轉載)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.