正則表達式是形成一個搜索模式的字符序列。
搜索模式可用於文本搜索和文本替換操作。
什麼是正則表達式?
正則表達式是形成一個搜索模式的字符序列。
當您在文本搜索數據,你可以使用這個搜索模式來描述你要搜索的內容。
正則表達式可以是一個單獨的字符,或更複雜的圖案。
正則表達式可用於執行所有類型的文本搜索和文本替換操作。
句法
/ 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()用繩子
搜索方法也將接受一個字符串作為搜索參數。 字符串參數將被轉換為正則表達式:
使用字符串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"
完成正則表達式參考
對於一個完整的參考,請訪問我們完整的JavaScript的RegExp參考 。
引用包含所有的RegExp屬性和方法的說明和示例。