最新的Web開發教程
 

JavaScript正則表達式


正則表達式是形成一個搜索模式的字符序列。

搜索模式可用於文本搜索和文本替換操作。


什麼是正則表達式?

正則表達式是形成一個搜索模式的字符序列。

當您在文本搜索數據,你可以使用這個搜索模式來描述你要搜索的內容。

正則表達式可以是一個單獨的字符,或更複雜的圖案。

正則表達式可用於執行所有類型的文本搜索文本替換操作。

句法

/ pattern / modifiers ;

var patt = /w3ii/i;

例子解釋:

/w3ii/i是一個正則表達式。

w3ii是一個模式(在搜索中使用)。

i是一個修改(修改搜索不區分大小寫)。


使用字符串方法

在JavaScript中,正則表達式經常被用來與兩個字符串方法search()replace()

search()方法使用的表達式來搜索匹配,並返回匹配的位置。

replace()方法返回,該模式被替換修改後的字符串。


使用字符串search()使用正則表達式

使用正則表達式做在一個字符串“w3ii”不區分大小寫的搜索:

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

在正的結果將是:

6
試一試»

使用字符串search()用繩子

搜索方法也將接受一個字符串作為搜索參數。 字符串參數將被轉換為正則表達式:

使用字符串做在一個字符串“w3ii”的搜索:

var str = "Visit w3ii!";
var n = str.search("w3ii");
試一試»

使用字符串replace()使用正則表達式

使用不區分大小寫的正則表達式來取代Microsoft用一個字符串w3ii:

var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "w3ii");

在res的結果將是:

Visit w3ii!
試一試»

使用字符串replace()用字符串

replace()方法也將接受一個字符串作為搜索參數:

var str = "Visit Microsoft!";
var res = str.replace("Microsoft", "w3ii");
試一試»

你注意到了嗎?

正則表達式的參數(而不是字符串參數)可以在上面的方法中。
正則表達式可以使搜索變得更加強大(情況下,例如不區分大小寫)。


正則表達式修飾符

改性劑可用於執行不區分大小寫的更具全球性的搜索:

修改 描述
i 執行區分大小寫的匹配
g 執行全局匹配(查找所有的匹配,而不是後的首場比賽停止)
m 執行多行匹配

正則表達式模式

支架用於查找字符的範圍:

表達 描述
[abc] 狼狽不堪的括號中的字符
[0-9] 狼狽不堪的括號中的數字
(x|y) 找到任何與分離的替代品|

元字符是具有特殊含義的字符:

元字符 描述
\d 查找數字
\s 查找空白字符
\b 找到一個匹配的開始或在一個字的結束
\uxxxx 查找十六進制數XXXX規定的Unicode字符

量詞定義數量:

量詞 描述
n+ 匹配包含至少一個n的字符串
n* 匹配包含零個或多個n的任何字符串
n? 匹配包含零個或一個為n的任何字符串

使用RegExp對象

在JavaScript中,RegExp對象是具有預定義的屬性和方法正則表達式對象。


使用test()

test()方法是一個正則表達式表示方法。

它搜索的模式的字符串,返回true或false,根據結果。

下面的例子中搜索字符的字符串"e"

var patt = /e/;
patt.test("The best things in life are free!");

由於有一個"e"的字符串,代碼的輸出將是:

true
試一試»

你不必把正則表達式中的變量的第一。 兩行以上可以縮短一個:

/e/.test("The best things in life are free!");

使用exec()

exec()方法是一個正則表達式表示方法。

它搜索指定模式的字符串,並返回找到的文本。

如果沒有找到匹配,返回null。

下面的例子中搜索字符的字符串"e"

例1

/e/.exec("The best things in life are free!");

由於有一個“E”的字符串,代碼的輸出將是:

e
試一試»

完成正則表達式參考

對於一個完整的參考,請訪問我們完整的JavaScript的RegExp參考

引用包含所有的RegExp屬性和方法的說明和示例。