當前位置:
首頁 > 知識 > JavaScript 正則表達式

JavaScript 正則表達式

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

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



JavaScript 正則表達式

什麼是正則表達式?

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

當你在文本中搜索數據時,你可以用搜索模式來描述你要查詢的內容。

正則表達式可以是一個簡單的字元,或一個更複雜的模式。

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

語法

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

其中修飾符是可選的。

實例:

var patt = /runoob/i

實例解析:

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

runoob 是一個正則表達式主體 (用於檢索)。

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



使用字元串方法

在 JavaScript 中,正則表達式通常用於兩個字元串方法 : search() 和 replace()。

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

replace() 方法 用於在字元串中用一些字元替換另一些字元,或替換一個與正則表達式匹配的子串。



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

實例

使用正則表達式搜索 "Runoob" 字元串,且不區分大小寫:

varstr = "Visit Runoob!";
varn = str.search(/Runoob/i);

輸出結果為:

6

JavaScript 正則表達式



search() 方法使用字元串

search 方法可使用字元串作為參數。字元串參數會轉換為正則表達式:

實例

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

varstr = "Visit Runoob!";
varn = str.search("Runoob");



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

實例

使用正則表達式且不區分大小寫將字元串中的 Microsoft 替換為 Runoob :

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

結果輸出為:

Visit Runoob!

replace() 方法使用字元串

replace() 方法將接收字元串作為參數:

varstr = document.getElementById("demo").innerHTML;
vartxt = str.replace("Microsoft","Runoob");



正則表達式修飾符

修飾符 可以在全局搜索中不區分大小寫:

正則表達式參數可用在以上方法中 (替代字元串參數)。

正則表達式使得搜索功能更加強大(如實例中不區分大小寫)。


修飾符 描述
i 執行對大小寫不敏感的匹配。
g 執行全局匹配(查找所有匹配而非在找到第一個匹配後停止)。
m 執行多行匹配。



正則表達式模式

方括弧用於查找某個範圍內的字元:


表達式 描述
[abc] 查找方括弧之間的任何字元。
[0-9] 查找任何從 0 至 9 的數字。
(x|y) 查找任何以 | 分隔的選項。

元字元是擁有特殊含義的字元:


元字元 描述
d 查找數字。
s 查找空白字元。
 匹配單詞邊界。
uxxxx 查找以十六進位數 xxxx 規定的 Unicode 字元。

量詞:


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



使用 RegExp 對象

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


使用 test()

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

test() 方法用於檢測一個字元串是否匹配某個模式,如果字元串中含有匹配的文本,則返回 true,否則返回 false。

以下實例用於搜索字元串中的字元 "e":

實例

var patt = /e/;

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

字元串中含有 "e",所以該實例輸出為:

true

JavaScript 正則表達式

你可以不用設置正則表達式的變數,以上兩行代碼可以合并為一行:

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



使用 exec()

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

exec() 方法用於檢索字元串中的正則表達式的匹配。

該函數返回一個數組,其中存放匹配的結果。如果未找到匹配,則返回值為 null。

以下實例用於搜索字元串中的字母 "e":

Example 1

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

字元串中含有 "e",所以該實例輸出為:

e

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

JavaScript 類型轉換
JavaScript 錯誤-throw、try 和 catch
JavaScript If……Else 語句
JavaScript Break 和 Continue 語句
JavaScript 事件

TAG:程序員小新人學習 |