JavaScript 正則表達(dá)式

正則表達(dá)式(英語:Regular Expression,在代碼中常簡(jiǎn)寫為regex、regexp或RE)使用單個(gè)字符串來描述、匹配一系列符合某個(gè)句法規(guī)則的字符串搜索模式。

搜索模式可用于文本搜索和文本替換。


什么是正則表達(dá)式?

正則表達(dá)式是由一個(gè)字符序列形成的搜索模式。

當(dāng)你在文本中搜索數(shù)據(jù)時(shí),你可以用搜索模式來描述你要查詢的內(nèi)容。

正則表達(dá)式可以是一個(gè)簡(jiǎn)單的字符,或一個(gè)更復(fù)雜的模式。

正則表達(dá)式可用于所有文本搜索和文本替換的操作。

語法

/正則表達(dá)式主體/修飾符(可選)

其中修飾符是可選的。

 

實(shí)例:

var patt = /runoob/i

實(shí)例解析:

/runoob/i  是一個(gè)正則表達(dá)式。

runoob  是一個(gè)正則表達(dá)式主體 (用于檢索)。

i  是一個(gè)修飾符 (搜索不區(qū)分大小寫)。


使用字符串方法

在 JavaScript 中,正則表達(dá)式通常用于兩個(gè)字符串方法 : search() 和 replace()。

search() 方法 用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串,并返回子串的起始位置。

replace() 方法 用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。


search() 方法使用正則表達(dá)式

實(shí)例

使用正則表達(dá)式搜索 "Runoob" 字符串,且不區(qū)分大小寫:

var str = "Visit Runoob!"; var n = str.search(/Runoob/i);

輸出結(jié)果為:

6
嘗試一下 »

search() 方法使用字符串

search 方法可使用字符串作為參數(shù)。字符串參數(shù)會(huì)轉(zhuǎn)換為正則表達(dá)式:

實(shí)例

檢索字符串中 "Runoob" 的子串:

var str = "Visit Runoob!"; var n = str.search("Runoob");
嘗試一下 »

replace() 方法使用正則表達(dá)式

實(shí)例

使用正則表達(dá)式且不區(qū)分大小寫將字符串中的 Microsoft 替換為 Runoob :

var str = document.getElementById("demo").innerHTML; var txt = str.replace(/microsoft/i,"Runoob");

結(jié)果輸出為:

Visit Runoob!
嘗試一下 »

replace() 方法使用字符串

replace() 方法將接收字符串作為參數(shù):

var str = document.getElementById("demo").innerHTML; var txt = str.replace("Microsoft","Runoob");